Четыре специфичных для архитектуры 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

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

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

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

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

OpenClawRadar
Исправление ошибки расширения Claude для VS Code: 'command claude-vscode.editor.openLast not found'
Гайды

Исправление ошибки расширения Claude для VS Code: 'command claude-vscode.editor.openLast not found'

Версия 2.1.51 расширения Claude для VS Code содержит критическую ошибку, вызывающую сообщение об ошибке 'command claude-vscode.editor.openLast not found'. Временное решение — откатиться до версии 2.1.49.

OpenClawRadar
Принципы написания навыков для Claude Code на основе 159 открытых исходных навыков
Гайды

Принципы написания навыков для Claude Code на основе 159 открытых исходных навыков

Разработчик поделился 10 принципами написания эффективных навыков для Claude Code, основанными на создании и поддержке открытого реестра с 159 навыками. Принципы включают практические подходы, такие как использование папок вместо отдельных файлов, добавление разделов с подводными камнями и реализацию хуков по требованию.

OpenClawRadar
Запуск Qwen3.6-35B-A3B с ~190k контекстом на 8 ГБ VRAM + 32 ГБ ОЗУ – Настройка и бенчмарки
Гайды

Запуск Qwen3.6-35B-A3B с ~190k контекстом на 8 ГБ VRAM + 32 ГБ ОЗУ – Настройка и бенчмарки

Пользователь Reddit делится рабочей конфигурацией llama.cpp для моделей Qwen3.6-35B-A3B GGUF на RTX 4060 (8 ГБ VRAM) + 32 ГБ DDR5, достигая 37-51 ток/с при контексте 192k с использованием TurboQuant и специальных флагов.

OpenClawRadar