Quatro modos de falha específicos do aarch64 ao executar o vLLM no Blackwell GB10 com CUDA 13.0

✍️ OpenClawRadar📅 Publicado: March 22, 2026🔗 Source
Quatro modos de falha específicos do aarch64 ao executar o vLLM no Blackwell GB10 com CUDA 13.0
Ad

Configuração e ambiente

A configuração utiliza hardware GB10 com aarch64 (sbsa-linux), Python 3.12, CUDA 13.0 e vLLM v0.7.1. Os problemas surgiram em um ambiente de teste com reset diário e são específicos para aarch64 com CUDA 13.0.

Modo de falha 1: wheel cu121 não existe para aarch64

Usar o protocolo --index-url .../cu121 retorna: ERROR: Could not find a version that satisfies the requirement torch (from versions: none). O índice cu121 não possui binário para aarch64. O índice correto para Blackwell aarch64 é cu130.

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

Modo de falha 2: símbolo indefinido ncclWaitSignal

Após instalar o torch cu130, a importação falha com: ImportError: libtorch_cuda.so: undefined symbol: ncclWaitSignal. O NCCL instalado via apt não possui este símbolo, mas o nvidia-nccl-cu13 instalado via pip possui. O vinculador não o encontra automaticamente.

Solução: Forçar via LD_PRELOAD antes de cada chamada Python:

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

Modo de falha 3: numa.h não encontrado durante compilação da extensão CPU do vLLM

O erro: fatal error: numa.h: No such file or directory. A extensão CPU do vLLM requer libnuma-dev, que não estava instalado no sistema após o reset.

sudo apt-get install -y libnuma-dev
Ad

Modo de falha 4: Incompatibilidade de ABI — símbolo indefinido MessageLogger

Após completar a compilação completa, iniciar o vLLM falha com: ImportError: vllm/_C.abi3.so: undefined symbol: _ZN3c1013MessageLoggerC1EPKciib.

Diagnóstico com nm mostra:

  • O que o binário do vLLM esperava (assinatura antiga): U _ZN3c1013MessageLoggerC1EPKciib ← (const char*, int, int, bool)
  • O que a biblioteca torch cu130 realmente fornece (nova assinatura): T _ZN3c1013MessageLoggerC1ENS_14SourceLocationEib ← (SourceLocation, int, bool)

Causa raiz: isolamento de compilação do pip. Ao executar pip install -e ., o pip cria um ambiente de compilação isolado e baixa uma versão mais antiga do torch baseada nas restrições de versão do pyproject.toml. O vLLM compila contra esses cabeçalhos antigos, mas em tempo de execução o torch cu130 mais novo é encontrado, causando incompatibilidade de assinatura.

Solução: Usar --no-build-isolation com injeção explícita de subprocesso:

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

Detalhe importante: sudo -E sozinho não funciona porque a cadeia de subprocessos do pip não carrega LD_PRELOAD. É necessário sudo -E env VAR=value pip3 para injetar explicitamente no subprocesso.

Verifique o selo ABI após a instalação:

nm -D vllm/_C.abi3.so | grep MessageLogger
# Deve conter "SourceLocation" — se ainda disser "EPKciib", reinstale

Nota adicional para sistemas multiagente

Se usar vLLM como backend para um sistema multiagente, adicione --served-model-name seu-nome-de-modelo. Sem isso, o vLLM serve o modelo sob seu caminho completo de arquivo e os agentes recebem 404 quando consultam pelo nome.

O protocolo completo v2, incluindo script de automação e serviço systemd, está disponível em github.com/trgysvc/AutonomousNativeForge → docs/BLACKWELL_SETUP_V2.md. O repositório é para ANF — um pipeline de codificação autônoma com 4 agentes rodando sobre esta configuração, mas a documentação de configuração é independente se você só precisa das correções para Blackwell/vLLM.

📖 Leia a fonte completa: r/LocalLLaMA

Ad

👀 See Also

Recomendações de Modelos de Tradução Local para GPUs com 32 GB de VRAM
Guides

Recomendações de Modelos de Tradução Local para GPUs com 32 GB de VRAM

Um desenvolvedor compartilha recomendações testadas para modelos de tradução local em uma configuração de 32GB de VRAM, destacando o Unsloth Gemma3 27b Instruct UD Q6_K_XL para idiomas gerais e o Bartowski Utter Project EuroLLM 22B Instruct 2512 Q8_0 para idiomas europeus mais coreano.

OpenClawRadar
Usando o Claude para analisar padrões de escrita para instruções personalizadas melhores
Guides

Usando o Claude para analisar padrões de escrita para instruções personalizadas melhores

Um usuário do Reddit descreve um método para criar instruções personalizadas mais eficazes, fazendo o Claude analisar 10 amostras de escrita para identificar padrões concretos, como evitar pontuação e fontes de analogias, em vez de depender de descrições subjetivas de tom.

OpenClawRadar
Um sistema de memória de 4 arquivos para agentes OpenClaw sem plugins
Guides

Um sistema de memória de 4 arquivos para agentes OpenClaw sem plugins

Um usuário do Reddit compartilha um sistema prático de memória usando quatro arquivos markdown: USER.md para identidade, CONTEXT.md para trabalho ativo, MEMORY.md para tópicos estruturados e ARCHIVE.md para itens concluídos. A abordagem resolve o problema do 'agente não saber o que sabe' através de uma melhor arquitetura de arquivos, e não de mais memória.

OpenClawRadar
Projetando Restrições para Confiabilidade de Agentes de IA em Produção
Guides

Projetando Restrições para Confiabilidade de Agentes de IA em Produção

Uma postagem no Reddit detalha uma abordagem baseada em restrições para usar o Claude em operações complexas de base de código, enfatizando a enumeração explícita de modos de falha, execução em fases com pontos de verificação e regras anti-atalhos para alcançar zero builds quebrados ao remover 140 arquivos.

OpenClawRadar