블랙웰 GB10에서 CUDA 13.0으로 vLLM을 실행할 때 발생하는 aarch64 특정 장애 모드 네 가지

✍️ OpenClawRadar📅 게시일: March 22, 2026🔗 Source
블랙웰 GB10에서 CUDA 13.0으로 vLLM을 실행할 때 발생하는 aarch64 특정 장애 모드 네 가지
Ad

설정 및 환경

이 설정은 aarch64(sbsa-linux), Python 3.12, CUDA 13.0 및 vLLM v0.7.1을 사용하는 GB10 하드웨어를 사용합니다. 문제는 일일 재설정 테스트 환경에서 발생했으며 CUDA 13.0을 사용하는 aarch64에 특정됩니다.

실패 모드 1: aarch64용 cu121 휠이 존재하지 않음

--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에서 확인할 수 있습니다. 이 저장소는 이 설정 위에서 실행되는 4-에이전트 자율 코딩 파이프라인인 ANF를 위한 것이지만, 설정 문서는 Blackwell/vLLM 수정만 필요한 경우 독립적으로 사용할 수 있습니다.

📖 전체 소스 읽기: r/LocalLLaMA

Ad

👀 See Also