正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

グラフィカルプロセッシングユニット(GPU)の使用

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLab Runnerは、グラフィカルプロセッシングユニット(GPU)の使用をサポートしています。次のセクションでは、さまざまなexecutorでGPUを有効にするために必要な設定について説明します。

Shell executor

Runnerの設定は必要ありません。

Docker executor

前提要件:

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-smi

GPUが有効になっている場合、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.