使用图形处理单元(GPU)

引入于极狐GitLab Runner 13.9。

极狐GitLab Runner 支持使用图形处理单元(GPU)。 以下部分描述了为多个执行器启用 GPU 所需的配置。

Shell 执行器

不需要 Runner 配置。

Docker 执行器

使用 runners.docker 部分中的 gpus 配置选项。 示例:

[runners.docker]
    gpus = "all"

Docker Machine 执行器

详情请参见Docker Machine 的极狐GitLab 派生文档

Kubernetes 执行器

不需要 Runner 配置。请确保节点选择器选择支持 GPU 的节点

验证 GPU 被启用

您可以通过 NVIDIA GPU 使用 Runner。对于 NVIDIA GPU, 确保 CI 作业已启用 GPU 的一个方式是在脚本的开始运行 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 也会因为缺失或与驱动器无法通信而失败。

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.