그래픽 처리 장치(GPUs) 사용하기

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed
  • GitLab Runner 13.9에서 소개되었습니다.

GitLab Runner는 그래픽 처리 장치(GPUs)의 사용을 지원합니다. 다음 섹션에서는 다양한 실행자에 대해 GPUs를 활성화하는 데 필요한 구성을 설명합니다.

쉘 실행자

런너 구성이 필요하지 않습니다.

도커 실행자

runners.docker 섹션의 gpus 구성 옵션을 사용하세요. 예시:

[runners.docker]
    gpus = "all"

도커 머신 실행자

GitLab의 도커 머신 문서를 참조하세요.

쿠버네티스 실행자

러너 구성이 필요하지 않을 것입니다. 노드 셀렉터가 GPU 지원 노드를 선택하는지 확인하세요.

GitLab Runner는 Amazon Elastic Kubernetes Service에서 GPU 지원 인스턴스에서 테스트되었습니다.

GPUs가 활성화되었는지 확인

NVIDIA GPUs를 사용할 수 있습니다. NVIDIA GPUs의 경우 CI 작업을 위해 GPU를 활성화하는 한 가지 방법은 스크립트 시작 시 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.