グラフィカル・プロセッシング・ユニット(GPU)の使用
GitLab Runner 13.9 で導入されました。
GitLab RunnerはGPU(Graphical Processing Unit)の使用をサポートします。以下のセクションでは、様々なエクゼキューターでGPUを有効にするために必要な設定について説明します。
Shell Executor
ランナーの設定は必要ありません。
Dockerエクゼキュータ
runners.docker
セクション](advanced-configuration.md#the-runnersdocker-section)の[gpus
設定オプションを使用してください。例えば
[runners.docker]
gpus = "all"
Docker Machine Executor。
DockerMachineのGitLabフォークのドキュメントを参照してください。
Kubernetes executor
Runnerの設定は必要ありません。ノードセレクタがGPUをサポートしているノードを選択していることを確認してください。
GitLab RunnerはAmazon Elastic Kubernetes ServiceのGPU対応インスタンスでテストされています。
GPUが有効であることを確認
Runner は NVIDIA GPU でも使用できます。NVIDIA GPUの場合、CIジョブでGPUが有効になっていることを確認する1つの方法は、スクリプトの最初にnvidia-smi
。例えば
train:
script:
- nvidia-smi
GPU が有効になっている場合、nvdia-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
は、GPU が見つからないか、ドライバと通信できないために失敗するはずです:
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.