top of page
検索

DGX SparkでDocker+GPUを用いてtorchaudioを動かす方法

  • Shunsuke Fukazawa
  • 1月6日
  • 読了時間: 2分

はじめまして!2024年10月から株式会社Quixotiksでインターンをしている深澤です。 現在は NVIDIA DGX Spark を使用して音声認識(ASR)に関する業務に携わっています。

ローカル ASR を Docker + GPU で動かす際に PyTorch の互換性エラーで少しハマったので、原因と解決方法をメモとして残します。

同じ状況の方の参考になれば幸いです!

背景

ローカル 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 によって torch が置換され、互換性エラーにつながる場合があります。

その場合、ベースイメージの torch を固定した状態で torchaudio をソースビルドで導入することで回避できました。

少しでも参考になれば幸いです!

 
 
 

最新記事

すべて表示
日本人・東アジア人特化の表情データセット

こんにちは、Quixotiksインターンの浅沼です。 前回の記事では、AIの表情認識データセットでは外れ値である日本人・高齢者の画像について記述させ、その難しさを体感しました。 そこで今回は、こうした日本人(アジア人)や高齢者に特化したデータセットにはどのようなものがあるのかを調査しまとめました。 最初のブログ記事に書いた通り、表情認識データセットは撮影された環境によって大きく2種類に分けられます

 
 
 

コメント


Quixotiks-2.png

株式会社 Quixotiks

東京都渋谷区神泉町 20-21 クロスシー渋谷神泉ビル

03-6826-2232

営業時間/平日9:00〜19:00

スクリーンショット 2024-03-06 17.57.17.png
  • alt.text.label.Facebook

Copyright © 株式会社 Quixotiks All rights Reserved.

bottom of page