はじめに
ちょいちょいDockerコンテナからGPUカードを利用する機会があるのだが、、、動作確認Codeを都度調べて実行しています。
が、Google先生で都度調べるのが面倒になってきたので、備忘録として本記事を投稿します。
本稿で紹介すること
以下、手元PC環境(Windows11)に施してゆきます。
- PyTorchでよく使う動作確認Code
筆者は、Windows 11のホスト上でWSL2/Ubuntuを起動しています。
更に、UbuntuでDockerコンテナを起動しています。
一応、GPUカード(NVIDIA GeForce GTX 1660 SUPER)が搭載されています。
- Windows 11 Ver.22H2 (Build. 23424.1000)
- WSL 1.2.5.0
- Ubuntu 20.04.5 LTS
- NVIDIA グラフィックスドライバー v532.03
PyTorchでよく使う動作確認Code
過去の記事でも利用しましたが、NGC CATALOGのコンテナイメージ12を利用します。
具体的なリポジトリ:タグだと、nvcr.io/nvidia/pytorch:22.12-py3です。
GPUドライバのVer.確認、および、GPU使用率の確認
$ nvidia-smi
Sun Jun 11 08:03:02 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.51.01 Driver Version: 532.03 CUDA Version: 12.1 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce GTX 1660 S... On | 00000000:01:00.0 On | N/A |
| 46% 47C P0 37W / 125W| 377MiB / 6144MiB | 1% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 22 G /Xwayland N/A |
+---------------------------------------------------------------------------------------+
GPUドライバのVer.確認、および、GPU使用率の確認(1秒間隔でモニタリングする場合)
$ watch -n 1 nvidia-smi
CUDA ToolkitのVer.確認
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
PyTorchのVer.確認
$ torch.__version__
'1.14.0a0+410ce96'
PyTorchから見たCUDA ToolkitのVer.確認
$ torch.version.cuda
'11.8'
PyTorchからGPU利用可否の確認
$ torch.cuda.is_available()
True
PyTorchから利用可能なGPUカード数の確認
$ torch.cuda.device_count()
1
PyTorchから利用可能なデフォルトGPUカード番号の確認
$ torch.cuda.current_device()
0
PyTorchから利用可能なGPUカード型番の確認
$ torch.cuda.get_device_name()
'NVIDIA GeForce GTX 1660 SUPER'
以下でも同じ結果を得られます。
$ torch.cuda.get_device_name(0)
$ torch.cuda.get_device_name(torch.device('cuda:0'))
$ torch.cuda.get_device_name('cuda:0')
PyTorchからGPUカードのCompute Capability確認
$ torch.cuda.get_device_capability()
(7, 5)
PyTorchからGPUカードで扱えるGPU命令セット確認
$ torch.cuda.get_arch_list()
['sm_52', 'sm_60', 'sm_61', 'sm_70', 'sm_75', 'sm_80', 'sm_86', 'sm_90', 'compute_90']
まとめ
自身の備忘を兼ねて、本稿ではPyTorchでよく使う動作確認Codeを紹介しました。
-
PyTorch | NVIDIA NGC | https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch ↩
-
PyTorch Release 22.12 - NVIDIA Docs | https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-22-12.html ↩