使用图形处理单元(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.