RTX3080で機械学習ベンチマーク(をしようとした)
NEW! (2020/12/19)
まえがき
- 筆者は、2020/09/17に秋葉原で行われた「RTX3080深夜販売」に参加した。幸運なことに、そのうちの1本を入手することができたので、機械学習ベンチマークを取ろうと考えた。
- (前日までに、各種Webメディアにおいてゲームでのベンチマークは公開されていた。しかし、機械学習のベンチマーク結果は一向に出てこなかったのも背景としてある。)
検証環境
- 筆者の過去の投稿を見てもらえばわかるが、筆者が所有する環境は、それほど一般的ではない。よって、多くの人の参考になるものではないことを最初に断っておく。
- マシンスペック
- MacBook Pro(2018)
- OS:Windows 10 Pro Insider Preview(Bootcamp)
- Windows OS ビルド:20215.1000
- macOS:Catalina 10.15.5
- CPU:Intel Core i7-8559U
- GPU:NVIDIA GeForce RTX 3080
- GPUエンクロージャ:Razer Core X Chroma
- Memory:16GB
- Storage:NVMe SSD 200GB
検証タスク
- CIFAR10
- フレームワーク
- CUDA:10.2
- Python:3.7.7
- NNabla:1.10.0
発生した問題
- NVIDIA グラフィックスドライバーのバージョンに関して
- 筆者の過去の投稿を見返してもらうとわかるが、MacBookProでのBootcamp̟と外付けGPU環境で、CUDA on WSLを実現するために、グラフィックスドライバーはバージョン「460.15」のものを用いていた。
- この時点で公開されていた、RTX3080とRTX2080Ti向けのグラフィックスドライバーの最新バージョンは「456.38」であったが、より新しいものであると思われたので、そのまま使えるかに思えた。しかし、そのままでは使えず、「456.38」を入れ直すと認識させることができた。
- このことから、RTX3080を用いたCUDA on WSLは、2020/09/17時点では無理だったのではないかと思われる。
- CUDA 10.2がなぜか動かない問題
2020/09/19現在、ここで詰まっている。
- 追記あり
状況
- NNablaでは、最初の初期化で処理がハングしてしまう。
2020-09-19 18:06:19,034 [nnabla][INFO]: Initializing CPU extension...
2020-09-19 18:06:20,871 [nnabla][INFO]: Initializing CUDA extension...
2020-09-19 18:06:20,891 [nnabla][INFO]: Initializing cuDNN extension...
- ちなみにGPUを認識できないときは次のようなエラーメッセージが返ってくる。(外付けGPUをつないだ環境では、このようなエラーメッセージはまったく返ってこなかった。)
Traceback (most recent call last):
File "classification.py", line 158, in <module>
train()
File "classification.py", line 75, in train
pred_train = prediction(image_train, test)
File "C:\XXX\Workspace\nnabla-examples\cifar10-100-collection\models.py", line 80, in resnet23_prediction
pad=(1, 1), with_bias=False)
File "<string>", line 5, in convolution
File "C:\XXX\anaconda3\envs\python37\lib\site-packages\nnabla\parametric_functions.py", line 639, in convolution
return F.convolution(inp, w, b, base_axis, pad, stride, dilation, group, channel_last)
File "<convolution>", line 3, in convolution
File "C:\XXX\anaconda3\envs\python37\lib\site-packages\nnabla\function_bases.py", line 352, in convolution
return F.Convolution(ctx, base_axis, pad, stride, dilation, group, channel_last)(*inputs, n_outputs=n_outputs, auto_forward=get_auto_forward(), outputs=outputs)
File "function.pyx", line 308, in nnabla.function.Function.__call__
File "function.pyx", line 286, in nnabla.function.Function._cg_call
RuntimeError: target_specific error in nbla::cuda_get_device
C:\ci\yYFZ-Jhm\0\nnabla\builders\all\nnabla-ext-cuda\src\nbla\cuda\common.cpp:29
(cudaGetDevice(¤t_device)) failed with "unknown error" (cudaErrorUnknown).
- 上記現象は、NNabla固有の現象である可能性もあるため、Tensorflow(=2.2.0)でも下記コマンドを試したが、こちらでもCUDAライブラリを読み込むことはできているようだが、途中でハングしてしまう。
python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
解決したら更新します
- 何かわかる方いましたら教えてください! 人
追記
- どうやら、同じようにGPGPU用途でフリーズなどの症状に陥っているとの情報アリ。しばらく待つしかないのかもしれない。
追記2
- コメントにて、RTX30系ではCUDA11しか(まだ?)対応していない可能性を指摘していただきました。(ありがとうございます。)
- しかし、NNablaもTensorflowもCUDA10までしか対応していないみたいなので、NNablaならCUDA11対応を待つか、Tensorflowならプレビュー版を試すかになりそうです。
(それより、早くRTX30系でもCUDA10が使えるようになる可能性もある…?)
追記3
- コメントにて、AmpereアーキテクチャはcuDNN=8.xしか対応していないことを教えていただきました。(ありがとうございます。)
-
NNabla=1.10.0は、cuDNN=8.xでは動かなかったように記憶しているのですが、もう一度確認したいですね。
最近1.11.0が出たようなので、それでも検証してみたいです。
- →やはり、NNabla<=1.11.0でcuDNN=8.xは動きませんでした。
- Tensorflowも2.3.0の段階では、cuDNN=8.xに対応していないようなので、試すならやはりnightlyになるでしょうか。
- 筆者は、2020/09/17に秋葉原で行われた「RTX3080深夜販売」に参加した。幸運なことに、そのうちの1本を入手することができたので、機械学習ベンチマークを取ろうと考えた。
- (前日までに、各種Webメディアにおいてゲームでのベンチマークは公開されていた。しかし、機械学習のベンチマーク結果は一向に出てこなかったのも背景としてある。)
検証環境
- 筆者の過去の投稿を見てもらえばわかるが、筆者が所有する環境は、それほど一般的ではない。よって、多くの人の参考になるものではないことを最初に断っておく。
- マシンスペック
- MacBook Pro(2018)
- OS:Windows 10 Pro Insider Preview(Bootcamp)
- Windows OS ビルド:20215.1000
- macOS:Catalina 10.15.5
- CPU:Intel Core i7-8559U
- GPU:NVIDIA GeForce RTX 3080
- GPUエンクロージャ:Razer Core X Chroma
- Memory:16GB
- Storage:NVMe SSD 200GB
検証タスク
- CIFAR10
- フレームワーク
- CUDA:10.2
- Python:3.7.7
- NNabla:1.10.0
発生した問題
- NVIDIA グラフィックスドライバーのバージョンに関して
- 筆者の過去の投稿を見返してもらうとわかるが、MacBookProでのBootcamp̟と外付けGPU環境で、CUDA on WSLを実現するために、グラフィックスドライバーはバージョン「460.15」のものを用いていた。
- この時点で公開されていた、RTX3080とRTX2080Ti向けのグラフィックスドライバーの最新バージョンは「456.38」であったが、より新しいものであると思われたので、そのまま使えるかに思えた。しかし、そのままでは使えず、「456.38」を入れ直すと認識させることができた。
- このことから、RTX3080を用いたCUDA on WSLは、2020/09/17時点では無理だったのではないかと思われる。
- CUDA 10.2がなぜか動かない問題
2020/09/19現在、ここで詰まっている。
- 追記あり
状況
- NNablaでは、最初の初期化で処理がハングしてしまう。
2020-09-19 18:06:19,034 [nnabla][INFO]: Initializing CPU extension...
2020-09-19 18:06:20,871 [nnabla][INFO]: Initializing CUDA extension...
2020-09-19 18:06:20,891 [nnabla][INFO]: Initializing cuDNN extension...
- ちなみにGPUを認識できないときは次のようなエラーメッセージが返ってくる。(外付けGPUをつないだ環境では、このようなエラーメッセージはまったく返ってこなかった。)
Traceback (most recent call last):
File "classification.py", line 158, in <module>
train()
File "classification.py", line 75, in train
pred_train = prediction(image_train, test)
File "C:\XXX\Workspace\nnabla-examples\cifar10-100-collection\models.py", line 80, in resnet23_prediction
pad=(1, 1), with_bias=False)
File "<string>", line 5, in convolution
File "C:\XXX\anaconda3\envs\python37\lib\site-packages\nnabla\parametric_functions.py", line 639, in convolution
return F.convolution(inp, w, b, base_axis, pad, stride, dilation, group, channel_last)
File "<convolution>", line 3, in convolution
File "C:\XXX\anaconda3\envs\python37\lib\site-packages\nnabla\function_bases.py", line 352, in convolution
return F.Convolution(ctx, base_axis, pad, stride, dilation, group, channel_last)(*inputs, n_outputs=n_outputs, auto_forward=get_auto_forward(), outputs=outputs)
File "function.pyx", line 308, in nnabla.function.Function.__call__
File "function.pyx", line 286, in nnabla.function.Function._cg_call
RuntimeError: target_specific error in nbla::cuda_get_device
C:\ci\yYFZ-Jhm\0\nnabla\builders\all\nnabla-ext-cuda\src\nbla\cuda\common.cpp:29
(cudaGetDevice(¤t_device)) failed with "unknown error" (cudaErrorUnknown).
- 上記現象は、NNabla固有の現象である可能性もあるため、Tensorflow(=2.2.0)でも下記コマンドを試したが、こちらでもCUDAライブラリを読み込むことはできているようだが、途中でハングしてしまう。
python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
解決したら更新します
- 何かわかる方いましたら教えてください! 人
追記
- どうやら、同じようにGPGPU用途でフリーズなどの症状に陥っているとの情報アリ。しばらく待つしかないのかもしれない。
追記2
- コメントにて、RTX30系ではCUDA11しか(まだ?)対応していない可能性を指摘していただきました。(ありがとうございます。)
- しかし、NNablaもTensorflowもCUDA10までしか対応していないみたいなので、NNablaならCUDA11対応を待つか、Tensorflowならプレビュー版を試すかになりそうです。
(それより、早くRTX30系でもCUDA10が使えるようになる可能性もある…?)
追記3
- コメントにて、AmpereアーキテクチャはcuDNN=8.xしか対応していないことを教えていただきました。(ありがとうございます。)
-
NNabla=1.10.0は、cuDNN=8.xでは動かなかったように記憶しているのですが、もう一度確認したいですね。
最近1.11.0が出たようなので、それでも検証してみたいです。
- →やはり、NNabla<=1.11.0でcuDNN=8.xは動きませんでした。
- Tensorflowも2.3.0の段階では、cuDNN=8.xに対応していないようなので、試すならやはりnightlyになるでしょうか。
- MacBook Pro(2018)
- OS:Windows 10 Pro Insider Preview(Bootcamp)
- Windows OS ビルド:20215.1000
- macOS:Catalina 10.15.5
- CPU:Intel Core i7-8559U
- GPU:NVIDIA GeForce RTX 3080
- GPUエンクロージャ:Razer Core X Chroma
- Memory:16GB
- Storage:NVMe SSD 200GB
- CIFAR10
- フレームワーク
- CUDA:10.2
- Python:3.7.7
- NNabla:1.10.0
発生した問題
- NVIDIA グラフィックスドライバーのバージョンに関して
- 筆者の過去の投稿を見返してもらうとわかるが、MacBookProでのBootcamp̟と外付けGPU環境で、CUDA on WSLを実現するために、グラフィックスドライバーはバージョン「460.15」のものを用いていた。
- この時点で公開されていた、RTX3080とRTX2080Ti向けのグラフィックスドライバーの最新バージョンは「456.38」であったが、より新しいものであると思われたので、そのまま使えるかに思えた。しかし、そのままでは使えず、「456.38」を入れ直すと認識させることができた。
- このことから、RTX3080を用いたCUDA on WSLは、2020/09/17時点では無理だったのではないかと思われる。
- CUDA 10.2がなぜか動かない問題
2020/09/19現在、ここで詰まっている。
- 追記あり
状況
- NNablaでは、最初の初期化で処理がハングしてしまう。
2020-09-19 18:06:19,034 [nnabla][INFO]: Initializing CPU extension...
2020-09-19 18:06:20,871 [nnabla][INFO]: Initializing CUDA extension...
2020-09-19 18:06:20,891 [nnabla][INFO]: Initializing cuDNN extension...
- ちなみにGPUを認識できないときは次のようなエラーメッセージが返ってくる。(外付けGPUをつないだ環境では、このようなエラーメッセージはまったく返ってこなかった。)
Traceback (most recent call last):
File "classification.py", line 158, in <module>
train()
File "classification.py", line 75, in train
pred_train = prediction(image_train, test)
File "C:\XXX\Workspace\nnabla-examples\cifar10-100-collection\models.py", line 80, in resnet23_prediction
pad=(1, 1), with_bias=False)
File "<string>", line 5, in convolution
File "C:\XXX\anaconda3\envs\python37\lib\site-packages\nnabla\parametric_functions.py", line 639, in convolution
return F.convolution(inp, w, b, base_axis, pad, stride, dilation, group, channel_last)
File "<convolution>", line 3, in convolution
File "C:\XXX\anaconda3\envs\python37\lib\site-packages\nnabla\function_bases.py", line 352, in convolution
return F.Convolution(ctx, base_axis, pad, stride, dilation, group, channel_last)(*inputs, n_outputs=n_outputs, auto_forward=get_auto_forward(), outputs=outputs)
File "function.pyx", line 308, in nnabla.function.Function.__call__
File "function.pyx", line 286, in nnabla.function.Function._cg_call
RuntimeError: target_specific error in nbla::cuda_get_device
C:\ci\yYFZ-Jhm\0\nnabla\builders\all\nnabla-ext-cuda\src\nbla\cuda\common.cpp:29
(cudaGetDevice(¤t_device)) failed with "unknown error" (cudaErrorUnknown).
- 上記現象は、NNabla固有の現象である可能性もあるため、Tensorflow(=2.2.0)でも下記コマンドを試したが、こちらでもCUDAライブラリを読み込むことはできているようだが、途中でハングしてしまう。
python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
解決したら更新します
- 何かわかる方いましたら教えてください! 人
追記
- どうやら、同じようにGPGPU用途でフリーズなどの症状に陥っているとの情報アリ。しばらく待つしかないのかもしれない。
追記2
- コメントにて、RTX30系ではCUDA11しか(まだ?)対応していない可能性を指摘していただきました。(ありがとうございます。)
- しかし、NNablaもTensorflowもCUDA10までしか対応していないみたいなので、NNablaならCUDA11対応を待つか、Tensorflowならプレビュー版を試すかになりそうです。
(それより、早くRTX30系でもCUDA10が使えるようになる可能性もある…?)
追記3
- コメントにて、AmpereアーキテクチャはcuDNN=8.xしか対応していないことを教えていただきました。(ありがとうございます。)
-
NNabla=1.10.0は、cuDNN=8.xでは動かなかったように記憶しているのですが、もう一度確認したいですね。
最近1.11.0が出たようなので、それでも検証してみたいです。
- →やはり、NNabla<=1.11.0でcuDNN=8.xは動きませんでした。
- Tensorflowも2.3.0の段階では、cuDNN=8.xに対応していないようなので、試すならやはりnightlyになるでしょうか。
- 筆者の過去の投稿を見返してもらうとわかるが、MacBookProでのBootcamp̟と外付けGPU環境で、CUDA on WSLを実現するために、グラフィックスドライバーはバージョン「460.15」のものを用いていた。
- この時点で公開されていた、RTX3080とRTX2080Ti向けのグラフィックスドライバーの最新バージョンは「456.38」であったが、より新しいものであると思われたので、そのまま使えるかに思えた。しかし、そのままでは使えず、「456.38」を入れ直すと認識させることができた。
- このことから、RTX3080を用いたCUDA on WSLは、2020/09/17時点では無理だったのではないかと思われる。
2020/09/19現在、ここで詰まっている。- 追記あり
- NNablaでは、最初の初期化で処理がハングしてしまう。
2020-09-19 18:06:19,034 [nnabla][INFO]: Initializing CPU extension...
2020-09-19 18:06:20,871 [nnabla][INFO]: Initializing CUDA extension...
2020-09-19 18:06:20,891 [nnabla][INFO]: Initializing cuDNN extension...
- ちなみにGPUを認識できないときは次のようなエラーメッセージが返ってくる。(外付けGPUをつないだ環境では、このようなエラーメッセージはまったく返ってこなかった。)
Traceback (most recent call last):
File "classification.py", line 158, in <module>
train()
File "classification.py", line 75, in train
pred_train = prediction(image_train, test)
File "C:\XXX\Workspace\nnabla-examples\cifar10-100-collection\models.py", line 80, in resnet23_prediction
pad=(1, 1), with_bias=False)
File "<string>", line 5, in convolution
File "C:\XXX\anaconda3\envs\python37\lib\site-packages\nnabla\parametric_functions.py", line 639, in convolution
return F.convolution(inp, w, b, base_axis, pad, stride, dilation, group, channel_last)
File "<convolution>", line 3, in convolution
File "C:\XXX\anaconda3\envs\python37\lib\site-packages\nnabla\function_bases.py", line 352, in convolution
return F.Convolution(ctx, base_axis, pad, stride, dilation, group, channel_last)(*inputs, n_outputs=n_outputs, auto_forward=get_auto_forward(), outputs=outputs)
File "function.pyx", line 308, in nnabla.function.Function.__call__
File "function.pyx", line 286, in nnabla.function.Function._cg_call
RuntimeError: target_specific error in nbla::cuda_get_device
C:\ci\yYFZ-Jhm\0\nnabla\builders\all\nnabla-ext-cuda\src\nbla\cuda\common.cpp:29
(cudaGetDevice(¤t_device)) failed with "unknown error" (cudaErrorUnknown).
- 上記現象は、NNabla固有の現象である可能性もあるため、Tensorflow(=2.2.0)でも下記コマンドを試したが、こちらでもCUDAライブラリを読み込むことはできているようだが、途中でハングしてしまう。
python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
解決したら更新します
- 何かわかる方いましたら教えてください! 人
追記
- どうやら、同じようにGPGPU用途でフリーズなどの症状に陥っているとの情報アリ。しばらく待つしかないのかもしれない。
追記2
- コメントにて、RTX30系ではCUDA11しか(まだ?)対応していない可能性を指摘していただきました。(ありがとうございます。)
- しかし、NNablaもTensorflowもCUDA10までしか対応していないみたいなので、NNablaならCUDA11対応を待つか、Tensorflowならプレビュー版を試すかになりそうです。
(それより、早くRTX30系でもCUDA10が使えるようになる可能性もある…?)
追記3
- コメントにて、AmpereアーキテクチャはcuDNN=8.xしか対応していないことを教えていただきました。(ありがとうございます。)
-
NNabla=1.10.0は、cuDNN=8.xでは動かなかったように記憶しているのですが、もう一度確認したいですね。
最近1.11.0が出たようなので、それでも検証してみたいです。
- →やはり、NNabla<=1.11.0でcuDNN=8.xは動きませんでした。
- Tensorflowも2.3.0の段階では、cuDNN=8.xに対応していないようなので、試すならやはりnightlyになるでしょうか。
- どうやら、同じようにGPGPU用途でフリーズなどの症状に陥っているとの情報アリ。しばらく待つしかないのかもしれない。
追記2
- コメントにて、RTX30系ではCUDA11しか(まだ?)対応していない可能性を指摘していただきました。(ありがとうございます。)
- しかし、NNablaもTensorflowもCUDA10までしか対応していないみたいなので、NNablaならCUDA11対応を待つか、Tensorflowならプレビュー版を試すかになりそうです。
(それより、早くRTX30系でもCUDA10が使えるようになる可能性もある…?)
追記3
- コメントにて、AmpereアーキテクチャはcuDNN=8.xしか対応していないことを教えていただきました。(ありがとうございます。)
-
NNabla=1.10.0は、cuDNN=8.xでは動かなかったように記憶しているのですが、もう一度確認したいですね。
最近1.11.0が出たようなので、それでも検証してみたいです。
- →やはり、NNabla<=1.11.0でcuDNN=8.xは動きませんでした。
- Tensorflowも2.3.0の段階では、cuDNN=8.xに対応していないようなので、試すならやはりnightlyになるでしょうか。
- コメントにて、AmpereアーキテクチャはcuDNN=8.xしか対応していないことを教えていただきました。(ありがとうございます。)
-
NNabla=1.10.0は、cuDNN=8.xでは動かなかったように記憶しているのですが、もう一度確認したいですね。最近1.11.0が出たようなので、それでも検証してみたいです。- →やはり、NNabla<=1.11.0でcuDNN=8.xは動きませんでした。
- Tensorflowも2.3.0の段階では、cuDNN=8.xに対応していないようなので、試すならやはりnightlyになるでしょうか。
Author And Source
この問題について(RTX3080で機械学習ベンチマーク(をしようとした)), 我々は、より多くの情報をここで見つけました https://qiita.com/Navier/items/cf2028b9662123158a86著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .