Перейти к основному содержимому

Для чистой Markdown-версии этой страницы добавьте .md к этому URL. Полный индекс документации см. в https://docs.nvidia.com/dynamo/llms.txt. Полное содержимое, включая справочник API и примеры SDK, см. в https://docs.nvidia.com/dynamo/llms-full.txt.

Соберите Dynamo из исходников для разработки и вклада в проект

简体中文

Сборка из исходников

Собирайте Dynamo из исходников, если хотите вносить код, тестировать функции в ветке разработки или настраивать сборку. Если вам нужно только запустить Dynamo, быстрее воспользоваться руководством Local Installation.

Это руководство охватывает Ubuntu и macOS. Для контейнеризованной среды разработки, которая автоматически выполняет все эти шаги, см. DevContainer.

1. Установите системные библиотеки

Ubuntu:

sudo apt install -y build-essential libhwloc-dev libudev-dev pkg-config libclang-dev protobuf-compiler python3-dev cmake

macOS:

# Установите Homebrew, если он еще не установлен
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

brew install cmake protobuf

# Проверьте доступность Metal
xcrun -sdk macosx metal

2. Установите Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

3. Создайте виртуальное окружение Python

Установите uv, если его еще нет:

curl -LsSf https://astral.sh/uv/install.sh | sh

Создайте и активируйте виртуальное окружение:

uv venv .venv
source .venv/bin/activate

4. Установите инструменты сборки

uv pip install pip maturin

Maturin — это инструмент сборки Rust-Python bindings.

5. Соберите Rust bindings

cd lib/bindings/python
maturin develop --uv

6. Установите GPU Memory Service

# Вернитесь в корень проекта
cd "$(git rev-parse --show-toplevel)"
uv pip install -e lib/gpu_memory_service

7. Установите wheel

uv pip install -e .

8. Проверьте сборку

python3 -m dynamo.frontend --help

Вы должны увидеть справку по команде frontend.

DevContainer

Пользователи VSCode и Cursor могут пропустить ручную настройку, используя заранее настроенные development containers. DevContainer автоматически устанавливает все toolchains, собирает проект и настраивает окружение Python.

Доступны контейнеры для конкретных framework'ов: vLLM, SGLang и TensorRT-LLM. Инструкции по настройке см. в DevContainer README.

Настройте pre-commit hooks

Перед отправкой PR установите pre-commit hooks, чтобы убедиться, что код проходит проверки CI:

uv pip install pre-commit
pre-commit install

Запустите проверки вручную для всех файлов:

pre-commit run --all-files

Устранение неполадок

Отсутствуют системные пакеты

Если maturin develop завершается ошибками линковщика, проверьте, что все системные зависимости установлены. В Ubuntu:

sudo apt install -y build-essential libhwloc-dev libudev-dev pkg-config libclang-dev protobuf-compiler python3-dev cmake

Виртуальное окружение не активировано

Maturin собирает проект с использованием активного интерпретатора Python. Если вы видите ошибки, связанные с Python или site-packages, убедитесь, что виртуальное окружение активировано:

source .venv/bin/activate

Место на диске

Каталог Rust target/ может вырасти более чем до 10 GB во время разработки. Если сборка завершается из-за нехватки места на диске, очистите кэш сборки:

cargo clean

Следующие шаги