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

Решение проблем с отключением в интерфейсе управления OpenClaw

Узнайте, как решить ошибку 'Disconnected (1008): control ui требует HTTPS или localhost' при использовании OpenClaw на VPS от Hostinger.

OpenClawRadar
Методология последовательного сравнительного анализа локальных и облачных языковых моделей
Гайды

Методология последовательного сравнительного анализа локальных и облачных языковых моделей

Разработчик делится методологией измерения, использующей последовательные запросы и оценку на основе правил, чтобы сравнить локальные модели (через llama.cpp, vLLM, Ollama) с облачными API (GPT-5.4, Claude Sonnet 4.6, Gemini 3.1 Pro) через единую конечную точку, такую как ZenMux.

OpenClawRadar
Как небольшие подсказки для оценки моделей могут вводить в заблуждение и как это исправить
Гайды

Как небольшие подсказки для оценки моделей могут вводить в заблуждение и как это исправить

В посте на Reddit объясняется, что промпты для оценки небольших моделей часто дают вводящие в заблуждение результаты, поскольку активируют не те когнитивные пути в трансформерах. Выделяются три различных режима: фактическое воспроизведение, применение/следование инструкциям и эмоциональный/эмпатический вывод.

OpenClawRadar
Используйте планировщики задач для общих задач кодирования
Гайды

Используйте планировщики задач для общих задач кодирования

Хэм Воке объясняет, как использовать простые bash-скрипты или Makefile в качестве планировщиков задач для стандартизации общих команд, таких как сборка, тестирование и форматирование, в разных репозиториях.

OpenClawRadar