NVIDIA A100 MIG

linux / / 2020. 12. 2. 14:19
반응형

NVIDIA A100 MIG

Multi Instance GPU

Nvidia GPU A100에서 새롭게 생긴 기능 MIG는 CUDA 애플리케이션을 위한 최대 7의 개별 GPU 인스턴스로 안전하게 분할하여 최적의 GPU 활용을 위해 사용자에게 별도의 GPU 리소스를 제공하기 위해 등장했다.

 

A100 MIG 모드 사용 시 참고사항

  • GPU-GPU P2P 지원되지 않는다.
  • 그래픽 API가 지원되지 않는다.
  • CUDA 애플리션은 컴퓨팅 인스턴스와 상위 GPU 인스턴스를 단일 CUDA 장치로 취급한다.
  • GPU 인스턴스 간의 CUDA IPC는 지원되지 않으며, Compute 인스턴스에서 CUDA IPC가 지원된다.
  • CUDA 디버깅 및 메모리 / race checking 지원됨.
  • GPU 인스턴스에서 사용될 때 GPUDirect RDMA가 지원됨.
  • CUDA MPS는 MIG 위에 지원되며, 유일한 제한은 최대 클라이언트 수(48)가 컴퓨팅 인스턴스 크기에 비례하여 낮아진다.

MIG 고려 사항

  • MIG 기능은 CUDA 11.0 / R450 release부터 NVIDIA GPU 드라이버의 일부로 제공됨.
  • NVIDIA DRIVER는 450.82 이상 사용.

 

그렇다면 MIG를 구성할 때 나오는 용어들부터 알아보도록 하겠다.

 

 

root@ubuntu:~# nvidia-smi
Tue Dec  1 19:56:47 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 455.45.01    Driver Version: 455.45.01    CUDA Version: 11.1     |
|-------------------------------+----------------------+----------------------+
| 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  A100-PCIE-40GB      Off  | 00000000:01:00.0 Off |                   On |
| N/A   44C    P0    65W / 250W |      0MiB / 40536MiB |     N/A      Default |
|                               |                      |              Enabled |
+-------------------------------+----------------------+----------------------+
|   1  A100-PCIE-40GB      Off  | 00000000:25:00.0 Off |                    0 |
| N/A   43C    P0    42W / 250W |      0MiB / 40536MiB |      0%      Default |
|                               |                      |             Disabled |
+-------------------------------+----------------------+----------------------+


+-----------------------------------------------------------------------------+
| MIG devices:                                                                |
+------------------+----------------------+-----------+-----------------------+
| GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
|      ID  ID  Dev |           BAR1-Usage | SM     Unc| CE  ENC  DEC  OFA  JPG|
|                  |                      |        ECC|                       |
|==================+======================+===========+=======================|
|  No MIG devices found                                                       |
+-----------------------------------------------------------------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |

GPU Context

GPU Context는 CPU 프로세서와 유사하다. 고유 한 주소 공간, 메모리 할당 등을 포함하여 GPU에서 작업을 실행하는 데 필요한 모든 리소스를 캡슐화한다.

 

GPU Engine

GPU 엔진은 GPU에서 작업을 실행하는 것이다. 가장 일반적으로 사용되는 엔지는 컴퓨터 명령을 실행하는 컴퓨팅 / 그래픽 엔진이다.

 

다른 엔진으로는 DMA 수행을 담당하는 CE(복사 엔진), 비디오 디코딩을 위한 NVDEC, 인코딩을 위한 NVENC 등이 있다. 각 엔진들은 독립적으로 예약할 수 있으며 다른 GPU Context에 대해 작업을 실행할 수 있다.

 

GPU Memory Slice

GPU 메모리 슬라이스는 해당 메모리 컨트롤러 및 캐시를 포함하여 A100 GPU 메모리의 가장 작은 부분이다. GPU 메모리 슬라이스는 용량과 대역폭을 모두 포함하여 GPU 메모리 리소스의 1/8이다.

 

GPU SM Slice

GPU SM 슬라이스는 A100 GPU에서 SM 중 가장 작은 부분이며, GPU SM 슬라이스는 MIG 모드에서 구성할 때 A100에서 사용할 수 있는 총 SM수의 1/7이다.

 

GPU Slice

GPU 슬라이스는 단일 GPU 메모리 슬라이스와 GPU SM 슬라이스를 결합한 A100 GPU의 가장 작은 부분이다.

 

GPU Instance(GI)

GPU 인스턴스는 GPU 슬라이스와 GPU 엔진 (DMA, NVDEC 등)의 조합이다. GPU 인스턴스 내의 모든 것은 항상 모든 GPU 메모리 슬라이스 및 기타 GPU 엔진을 공유한다.

 

하지만 SM 슬라이스 컴퓨팅 인스턴스(CI)로 더 세분화될 수 있다. GPU 인스턴스는 메모리 QoS를 제공합니다. 각 GPU 슬라이스에는 사용 가능한 용량과 대역폭을 모두 제한하고 메모리 QoS를 제공하는 전용 GPU메모리 리소스가  포함된다. 각 GPU 메모리 슬라이스는 총 GPU 메모리 리소스의 1/8을 가져오고 각 GPU SM 슬라이스는 총 SM 수의 1/7을 얻는다.

 

Compute Instance(CI)

GPU 인스턴스는 여러 컴퓨팅 인스턴스로 세분화 될 수 있다. 컴퓨팅 인스턴스(CI)에는 상위 GPU 인스턴스의 SM 슬라이스 및 기타 GPU 엔진(DMA, NVDEC 등)의 하위 집합이 포함되며, CI는 메모리와 엔진을 공유한다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기