古いGPU(CUDA CC=3.0)のためのTorchaudioのビルド(Ubuntu 22.04 on MacBookPro 15" Late2013)
以下の組み合わせで、一部の機能が、一応、動くようになりました。
GPU | GeForce GT 750M (Compute Capability 3.0) |
---|---|
Display Driver | 418.113 (nvidia-smiによると470.129.06) |
CUDA | 10.2 |
cuDNN | 7.6.5 |
pytorch | 1.9.1 |
torchvision | 0.10.1 |
torchaudio | 0.9.1 |
torchvision v0.10.1 に続いて、torchaudio v0.9.1 をビルドしました。以下、ビルド作業の記録です。
torchaudio v0.9.1 のビルドの手順
v0.9.1 の README.md にビルドの手順が記載されています。
https://github.com/pytorch/audio/tree/v0.9.1
これを参照して、ビルドを進めます。
ソースコードのダウンロード
適当なディレクトリを作成して、ソースコードをダウンロードします。
git clone --depth 1 --recursive https://github.com/pytorch/audio -b v0.9.1
ビルド
v0.9.1 の README.md (https://github.com/pytorch/audio/tree/v0.9.1) を参照しつつ、ビルドを進めます。念のために pytorch のビルドの設定と同じ設定にしました。
$ export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"} $ export USE_CUDA=1 USE_CUDNN=1 TORCH_CUDA_ARCH_LIST="3.0" $ export MAX_JOBS=2 (任意) $ BUILD_SOX=1 python setup.py install
"BUILD_SOX=1" を忘れないようにします。
これで、ビルド、インストールが完了しました。
テスト
torchaudio のソースコードの audio/test/ には、テスト用のスクリプトがあります。torchaudio の以下の記事には、テスト方法の説明があります。
https://github.com/pytorch/audio/tree/v0.9.1/test/torchaudio_unittest
以下のコマンドにより、複数のテストが順番に行われます。
$ pytest audio/test
試してみたところ、こんな結果になりました。
= 1098 failed, 2977 passed, 1657 skipped, 4 xfailed, 171 warnings in 2416.05s (0:40:16) =
以下のファイルは、ファイル名とタイムスタンプとから、先ほどのテストの失敗の記録と思われます。
audio/.pytest_cache/v/cache/lastfailed
ファイルの中を見てみると、MockedLoadTestのエラーとMockedSaveTestのエラーがほとんどでした。これらのエラーは、計算自体には影響ないと思います。気になるエラーは、autograd_cuda_test.pyのエラーです。
テストを行って結果を見てみます。
pytest audio/test/torchaudio_unittest/transforms/autograd_cuda_test.py
"CUDA out of memory"のエラーが発生していました(これは、仕方ないです・・・)
いろいろな計算で遊ぶには、十分な気もします。