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

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

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

쉘 실행기(Shell executor)

실행기 구성이 필요하지 않습니다.

도커 실행기(Docker executor)

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

[runners.docker]
    gpus = "all"

도커 머신 실행기(Docker Machine executor)

GitLab Docker Machine 판의 문서를 참조하세요.

Kubernetes 실행기(Kubernetes executor)

실행기 구성이 필요하지 않을 것입니다. 노드 선택기(node selector)가 GPU 지원을 하는 노드를 선택하는지 확인하세요.

GitLab Runner는 Amazon Elastic Kubernetes Service에서 테스트되었으며 GPU 지원 인스턴스에서 작동합니다.

GPU가 활성화되었는지 확인

NVIDIA GPU를 사용하는 실행기를 사용할 수 있습니다. NVIDIA GPU를 사용하는 경우 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.