💻

DGX Spark(sm_121)でtorchaudioを動かす

に公開

はじめに

はじめまして!2024年10月から株式会社Quixotiksでインターンをしている深澤です。
現在は NVIDIA DGX Spark 上で音声認識(ASR)に関する業務に携わっています。
本記事では、DGX Spark(GB10 / sm_121)上で Docker + GPU 環境を構築する際に、pip install torchaudio に起因する互換性エラーの原因と解決策を解説します。

対象読者

  • DGX Spark ユーザー
  • GPUを用いて音声処理したい方

環境

  • NVIDIA DGX Spark (GB10)
  • CUDA 13.0
  • Ubuntu 24.04

背景

ローカル ASRを Docker 上で GPU を利用して動かす際、pip install torchaudio を導入したタイミングで互換性エラーが発生:

NVIDIA GB10 with CUDA capability sm_121 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_80 sm_86 sm_90 compute_90.

エラーの原因

  • pip install torchaudio を依存解決込みでやると、PyPI の配布物(wheel)に合わせる形で torch が更新・置換されることがある
  • DGX Spark(GB10)は sm_121 なので、置き換わった torch が sm_121 をサポートしないビルドだった場合に上記の互換性エラーが出る

解決方法

torchaudio をソースビルド

ベースイメージは、NVIDIA公式の PyTorch コンテナを使用

  • コンテナ内に CUDA 対応の PyTorch(torch) がプリインストールされている
  • pip の依存解決で torch を置換しないよう、この torch を固定

Dockerfile:

FROM nvcr.io/nvidia/pytorch:25.09-py3

RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential wget ca-certificates

ARG TORCHAUDIO_VERSION=2.9.0

WORKDIR /tmp
RUN wget -O audio-v${TORCHAUDIO_VERSION}.tar.gz https://github.com/pytorch/audio/archive/refs/tags/v${TORCHAUDIO_VERSION}.tar.gz \
    && tar xzf audio-v${TORCHAUDIO_VERSION}.tar.gz

WORKDIR /tmp/audio-${TORCHAUDIO_VERSION}
RUN python -m pip install -v . --no-deps --no-build-isolation --no-use-pep517

WORKDIR /workspace
CMD ["/bin/bash"]
  • --no-deps:依存解決で torch を触らせない
  • --no-build-isolation:NGC の torch に合わせてビルド
  • --no-use-pep517:torchaudio 公式の推奨

コンテナ起動時は GPU を渡すために --gpus all が必要

docker run --rm -it --gpus all <image> bash

動作確認

import torch, torchaudio

print("torch:", torch.__version__, "cuda:", torch.version.cuda)
print("CUDA available:", torch.cuda.is_available())
print(f"Device: {torch.cuda.get_device_name(0)}")
print("torchaudio:", torchaudio.__version__)

出力:

torch: 2.9.0a0+50eac811a6.nv25.09 cuda: 13.0
CUDA available: True
Device: NVIDIA GB10
torchaudio: 2.9.0

まとめ

本記事では、DGX Spark(GB10 / sm_121)上で Docker + GPU 環境を構築する際に、pip install torchaudio に起因する互換性エラーの原因と解決策を整理しました。

DGX Spark は GB10(sm_121) の最新GPU と、Arm64(aarch64)CPU を採用しているため、想定外のエラーが発生する可能性があります。

Discussion