Четыре специфичных для архитектуры aarch64 режима сбоя при запуске vLLM на Blackwell GB10 с CUDA 13.0

✍️ OpenClawRadar📅 Опубликовано: 22 марта 2026 г.🔗 Source
Четыре специфичных для архитектуры aarch64 режима сбоя при запуске vLLM на Blackwell GB10 с CUDA 13.0
Ad

Настройка и окружение

Конфигурация использует оборудование GB10 с архитектурой aarch64 (sbsa-linux), Python 3.12, CUDA 13.0 и vLLM v0.7.1. Проблемы возникли в тестовом окружении с ежедневным сбросом и специфичны для aarch64 с CUDA 13.0.

Тип сбоя 1: колесо cu121 не существует для aarch64

Использование протокола --index-url .../cu121 возвращает: ERROR: Could not find a version that satisfies the requirement torch (from versions: none). В индексе cu121 нет бинарного файла для aarch64. Правильный индекс для Blackwell aarch64 — cu130.

sudo pip3 install --pre torch torchvision torchaudio \
--index-url https://download.pytorch.org/whl/nightly/cu130 \
--break-system-packages

Тип сбоя 2: неопределённый символ ncclWaitSignal

После установки cu130 torch импорт завершается ошибкой: ImportError: libtorch_cuda.so: undefined symbol: ncclWaitSignal. Установленный через apt NCCL не содержит этот символ, но установленный через pip nvidia-nccl-cu13 содержит. Компоновщик не находит его автоматически.

Решение: Принудительно загрузить через LD_PRELOAD перед каждым вызовом Python:

export LD_PRELOAD=/usr/local/lib/python3.12/dist-packages/nvidia/nccl/lib/libnccl.so.2

Тип сбоя 3: файл numa.h не найден при сборке расширения CPU для vLLM

Ошибка: fatal error: numa.h: No such file or directory. Расширение CPU для vLLM требует libnuma-dev, который не был установлен в системе после сброса.

sudo apt-get install -y libnuma-dev
Ad

Тип сбоя 4: Несоответствие ABI — неопределённый символ MessageLogger

После завершения полной сборки запуск vLLM завершается ошибкой: ImportError: vllm/_C.abi3.so: undefined symbol: _ZN3c1013MessageLoggerC1EPKciib.

Диагностика с помощью nm показывает:

  • Что ожидал бинарный файл vLLM (старая сигнатура): U _ZN3c1013MessageLoggerC1EPKciib ← (const char*, int, int, bool)
  • Что фактически предоставляет библиотека cu130 torch (новая сигнатура): T _ZN3c1013MessageLoggerC1ENS_14SourceLocationEib ← (SourceLocation, int, bool)

Основная причина: изоляция сборки pip. При выполнении pip install -e . pip создаёт изолированную среду сборки и загружает отдельную старую версию torch на основе ограничений версии в pyproject.toml. vLLM компилируется с использованием этих старых заголовков, но во время выполнения находится новая версия cu130 torch, что вызывает несоответствие сигнатур.

Решение: Использовать --no-build-isolation с явной передачей переменных окружения в подпроцесс:

sudo -E env \
LD_PRELOAD="/usr/local/lib/python3.12/dist-packages/nvidia/nccl/lib/libnccl.so.2" \
LD_LIBRARY_PATH="/usr/local/lib/python3.12/dist-packages/torch/lib:..." \
MAX_JOBS=8 \
pip3 install -e . --no-deps --no-build-isolation --break-system-packages

Важная деталь: sudo -E сам по себе не работает, потому что цепочка подпроцессов pip не передаёт LD_PRELOAD. Нужно использовать sudo -E env VAR=value pip3, чтобы явно передать переменные в подпроцесс.

Проверка соответствия ABI после установки:

nm -D vllm/_C.abi3.so | grep MessageLogger
# Должно содержать "SourceLocation" — если всё ещё показывает "EPKciib", переустановите

Дополнительное замечание для мультиагентных систем

Если используете vLLM как бэкенд для мультиагентной системы, добавьте --served-model-name your-model-name. Без этого vLLM обслуживает модель под её полным путём к файлу, и агенты получают ошибку 404 при запросе по имени.

Полный протокол v2, включая скрипт автоматизации и службу systemd, доступен по адресу github.com/trgysvc/AutonomousNativeForge → docs/BLACKWELL_SETUP_V2.md. Репозиторий предназначен для ANF — конвейера автономного кодирования с 4 агентами, работающего поверх этой настройки, но документация по настройке самостоятельна, если вам нужны только исправления для Blackwell/vLLM.

📖 Read the full source: r/LocalLLaMA

Ad

👀 Смотрите также

OpenClaw 5.28: Плагин Codex сломан после обновления — исправление с помощью символической ссылки
Гайды

OpenClaw 5.28: Плагин Codex сломан после обновления — исправление с помощью символической ссылки

OpenClaw 5.28 ломает плагин Codex из-за несоответствия пути к бинарнику. Исправление: создайте символическую ссылку с ожидаемого пути на фактический bin/codex.

OpenClawRadar
Открытый план запуска для проектов с открытым исходным кодом на основе LLM и локальных систем искусственного интеллекта
Гайды

Открытый план запуска для проектов с открытым исходным кодом на основе LLM и локальных систем искусственного интеллекта

Открытая плейбук решает проблемы с обнаруживаемостью проектов LLM и локального ИИ, предоставляя структурированные рекомендации по подготовке к запуску, выполнению в день запуска и последующему сопровождению. Он включает шаблоны и стратегии для распространения в сообществах, взаимодействия с создателями и SEO-оптимизации.

OpenClawRadar
Исправления вызова инструментов Qwen 3.5 для агентского использования: статус сервера и обходные решения на стороне клиента
Гайды

Исправления вызова инструментов Qwen 3.5 для агентского использования: статус сервера и обходные решения на стороне клиента

Подробный анализ выявляет четыре ошибки, которые нарушают работу вызова инструментов Qwen 3.5 в агентских настройках, отслеживает исправления серверов по состоянию на апрель 2026 года и предоставляет клиентскую функцию на Python для парсинга XML-вызовов инструментов при сбоях серверов.

OpenClawRadar
Крон-задачи против Heartbeat: Оптимизация использования токенов OpenClaw и согласованности выполнения
Гайды

Крон-задачи против Heartbeat: Оптимизация использования токенов OpenClaw и согласованности выполнения

Старший разработчик делится практическими советами по использованию Cron заданий вместо Heartbeat для снижения расхода токенов и повышения стабильности выполнения в OpenClaw, с конкретными примерами и методом shell-скрипта.

OpenClawRadar