Blackwell GB10でCUDA 13.0を使用してvLLMを実行する際の、aarch64固有の4つの障害モード

✍️ OpenClawRadar📅 公開日: March 22, 2026🔗 Source
Blackwell GB10でCUDA 13.0を使用してvLLMを実行する際の、aarch64固有の4つの障害モード
Ad

セットアップと環境

セットアップは、aarch64(sbsa-linux)、Python 3.12、CUDA 13.0、vLLM v0.7.1を搭載したGB10ハードウェアを使用しています。問題は、日次リセットされるテスト環境で発生し、CUDA 13.0を搭載したaarch64に固有のものです。

障害モード1: aarch64用のcu121 wheelが存在しない

--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にはあります。リンカーは自動的にそれを見つけられません。

修正:すべてのPython呼び出しの前にLD_PRELOADで強制的に指定します:

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

障害モード3: vLLM CPU拡張ビルド中にnuma.hが見つからない

エラー:fatal error: numa.h: No such file or directory。vLLMのCPU拡張には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は分離されたビルド環境を作成し、pyproject.tomlのバージョン制約に基づいて別の古いtorchをダウンロードします。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エラーが発生します。

自動化スクリプトとsystemdサービスを含む完全なv2プロトコルは、github.com/trgysvc/AutonomousNativeForge → docs/BLACKWELL_SETUP_V2.mdで利用可能です。このリポジトリはANF — このセットアップ上で動作する4エージェントの自律コーディングパイプライン用ですが、セットアップドキュメントは単にBlackwell/vLLMの修正が必要な場合でも独立して利用できます。

📖 Read the full source: r/LocalLLaMA

Ad

👀 See Also

Javaパフォーマンス最適化:コードを遅くする8つのアンチパターン
Guides

Javaパフォーマンス最適化:コードを遅くする8つのアンチパターン

Javaの注文処理アプリケーションが、Java Flight Recordingプロファイリングで特定された8つの一般的なアンチパターンを修正することで、経過時間を1,198msから239msに、1秒あたりの注文処理数を85,000件から419,000件に、ヒープ使用量を1GBから139MBに改善しました。

OpenClawRadar
WSL2でのUSBウェブカメラへのアクセスによるローカルモーション検出
Guides

WSL2でのUSBウェブカメラへのアクセスによるローカルモーション検出

開発者がusbipd-winを使用してUSBウェブカメラをWindowsからWSL2にパススルーする方法を共有し、クラウド依存なしでOpenCVによるローカルな動体検知を可能にします。

OpenClawRadar
Ollamaを使用してOpenClawを完全にローカルで実行する方法
Guides

Ollamaを使用してOpenClawを完全にローカルで実行する方法

Redditの投稿では、OllamaとLLMFitを使用してローカルモデルをベンチマークし、クラウドAPIやトークンごとの課金なしでOpenClawを完全にローカルで実行するプロセスが説明されています。

OpenClawRadar
AIエージェントアーキテクチャの理解:決定論的層と確率論的層
Guides

AIエージェントアーキテクチャの理解:決定論的層と確率論的層

Redditユーザーが、決定論的レイヤー(スクリプト、コマンド、API)と確率論的レイヤー(LLMの推論と意思決定)を分離したAIエージェントシステムのメンタルモデルを共有しました。重要な洞察:できるだけ多くの作業を決定論的側に押し込むことです。

OpenClawRadar