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

プロキシレイヤーでClaude Coworkを安全に保護する方法:実践ガイド
Guides

プロキシレイヤーでClaude Coworkを安全に保護する方法:実践ガイド

Claude Coworkの動作を監視・保護するためのプロキシレイヤー設定のチュートリアル。General Analysisチームが公開。

OpenClawRadar
Claudeを最大限活用する:CoworkとClaude Codeを用いたデータアナリストのワークフロー
Guides

Claudeを最大限活用する:CoworkとClaude Codeを用いたデータアナリストのワークフロー

コーディング未経験のデータアナリストが、Coworkでエンドツーエンドの自動化を、Claude Codeで重い処理を行う方法を共有。Google Places APIを使ったリードジェネレーションツール、不正検出ダッシュボード、SNS自動投稿を構築した事例。

OpenClawRadar
エージェントスキルの安全性評価:導入前の重要な考慮事項
Guides

エージェントスキルの安全性評価:導入前の重要な考慮事項

新しいエージェントスキルをインストールすることで機能が向上する一方、リスクも伴います。システムを保護するために、これらのスキルの安全性を評価する方法を学びましょう。

OpenClawRadar
博士課程の学術執筆におけるClaude vs GPT:方法セクションでの技術的意味の保存
Guides

博士課程の学術執筆におけるClaude vs GPT:方法セクションでの技術的意味の保存

博士課程の学生が、コンピュータビジョンとハードウェアの協調設計に関する論文を磨くためにClaudeとGPTを比較。Claudeは技術的な意味と議論の構造を維持する上でより信頼性が高く、GPTは時に主張を過度に単純化することがあると報告。

OpenClawRadar