グラフィカルプロセッシングユニット(GPU)の使用
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLab Runnerは、グラフィカルプロセッシングユニット(GPU)の使用をサポートしています。次のセクションでは、さまざまなexecutorでGPUを有効にするために必要な設定について説明します。
Shell executor
Runnerの設定は必要ありません。
Docker executor
前提要件:
- NVIDIAドライバーをインストールします。
- NVIDIAコンテナToolkitをインストールします。
gpusまたはservice_gpus設定オプションをrunners.dockerセクションで使用します:
[runners.docker]
gpus = "all"
service_gpus = "all"Docker Machine executor
Docker MachineのGitLabフォークのドキュメントを参照してください。
Kubernetes executor
Runnerの設定は不要です。ノードセレクターがGPUをサポートするノードを選択していることを確認してください。
GitLab Runnerは、Amazon Elastic Kubernetes Serviceでテストされ、GPU対応インスタンスでテストされています。
GPUが有効になっていることを検証する
NVIDIA GPUでRunnerを使用できます。NVIDIA GPUの場合、CIジョブでGPUが有効になっていることを確認する方法の1つは、スクリプトの先頭でnvidia-smiを実行することです。次に例を示します:
train:
script:
- nvidia-smiGPUが有効になっている場合、nvidia-smiの出力には、使用可能なデバイスが表示されます。次の例では、単一のNVIDIA Tesla P4が有効になっています:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
| 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 Tesla P4 Off | 00000000:00:04.0 Off | 0 |
| N/A 43C P0 22W / 75W | 0MiB / 7611MiB | 3% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+ハードウェアがGPUをサポートしていない場合、nvidia-smiが見つからないか、ドライバーと通信できないため、失敗するはずです:
modprobe: ERROR: could not insert 'nvidia': No such device
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.