엔비디아
NVidia Multi-Instance GPU (MIG)
MIG 개념
Multi-Instance GPU (MIG) | NVIDIA
- GPU를 최대 7개의 인스턴스로 분할할 수 있으며,
- 각 인스턴스는 고대역폭 메모리, 캐시 및 컴퓨팅 코어를 갖춘 완벽한 격리 환경을 제공
- 이를 통해 관리자는 가장 작은 워크로드부터 가장 큰 워크로드까지 모든 워크로드를 지원하고,
- 서비스 품질(QoS)을 보장하며,
- MIG(메모리 통합)를 사용하지 않으면 동일한 GPU에서 실행되는 여러 작업(예: 서로 다른 AI 추론 요청)이 동일한 리소스를 놓고 경쟁.
- 메모리 대역폭을 많이 사용하는 작업이 다른 작업에 자원을 부족하게 만들어 여러 작업이 목표 지연 시간을 달성하지 못하게 된다.
- MIG를 사용하면 작업이 서로 다른 인스턴스에서 동시에 실행되며, 각 인스턴스는 컴퓨팅, 메모리 및 메모리 대역폭에 대한 전용 리소스를 갖게 되어 QoS(서비스 품질)를 보장하고 GPU 활용률을 극대화하여 예측 가능한 성능을 제공한다.
- GPU는 크기가 다른 MIG 인스턴스로 분할할 수 있다.
- 예를 들어 NVIDIA GB200 의 경우 관리자는 각각 95GB 메모리를 가진 인스턴스 2개, 각각 45GB 메모리를 가진 인스턴스 4개 또는 각각 23GB 메모리를 가진 인스턴스 7개를 생성할 수 있다.
- MIG 인스턴스는 동적으로 재구성할 수 있으므로 관리자는 변화하는 사용자 및 비즈니스 요구에 맞춰 GPU 리소스를 조정할 수 있다.
- 예를 들어, 낮에는 7개의 MIG 인스턴스를 낮은 처리량의 추론에 사용하고 밤에는 딥러닝 학습을 위해 하나의 대규모 MIG 인스턴스로 재구성할 수 있다.
- 이전 암페어(Ampere) 아키텍처에선 GPU 를 reset 해야 MIG mode 를 켤 수 있었지만, Hopper 부터는 reset 이 필요없다.
- MIG Manager supports dynamic reconfiguration of the MIG geometry.
- 현재 사용하지 않는 노는 조각들만 합치거나 다시 나눌 수 있다.
- 참고: GPU Operator with MIG — NVIDIA GPU Operator
MIG profile 구성
- MIG 프로필 구성, GPU Operator with MIG — NVIDIA GPU Operator
- Configuring NVIDIA MIG Profiles -
- Supported MIG Profiles — NVIDIA Multi-Instance GPU User Guide
로봇칩에선 어떻게 쓰이나?
Multi-Instance GPU | 피지컬 AI를 위한 궁극의 플랫폼 NVIDIA Jetson Thor을 소개합니다. - NVIDIA Technical Blog
- 이를 통해 중요한 워크로드에는 리소스를 고정할 수 있고, 우선순위가 낮은 작업은 병렬로 실행할 수 있어, 다양한 중요도가 혼합된 로보틱스 애플리케이션에 적합
PVA, Programmable Vision Accelerator
PVA backend, VPI - Vision Programming Interface: Architecture
- PVA 는 프로세서, 이미지 처리 및 컴퓨터 비전 알고리즘에 특화되어 있습니다.
- GPU만 수행할 수 있는 다른 작업을 실행하기 위해 GPU를 자유롭게 해야 할 경우 PVA 백엔드를 사용해라.
- 딥러닝 추론 단계나 CUDA 백엔드에서만 구현되는 알고리즘처럼
- PVA 하드웨어는 CPU 및 CUDA 하드웨어보다 전력 효율이 훨씬 높다. 따라서 전력 소모가 중요한 경우 가능한 한 PVA 백엔드를 사용해라.
- PVA(Programmable Vision Accelerator) 의 구조
- 자율주행 차량을 개발하는 많은 개발자들은 SoC의 연산 자원이 부족해 CPU, GPU, VIC, DLA에 과부하가 걸리는 문제에 직면하고 있다. 이것이 시스템 안정성과 지연 시간에 부정적인 영향을 미칠 수 있다.
- 이러한 문제를 해결하기 위한 방안으로, 과도하게 사용 중인 SoC 하드웨어 엔진의 부하를 줄이기 위해 PVA 하드웨어를 이용해서 연산을 분산시키는(오프로딩) 방법이 검토되고 있다.
- PVA로 오프로딩할 수 있는 처리 작업의 예
- 이미지 처리: 일부 이미지 처리 및 컴퓨터 비전(CV) 작업은 PVA로 포팅하여 GPU, CPU, VIC, 심지어 DLA의 부하까지 줄일 수 있습니다.
- 딥러닝 연산: 딥러닝 네트워크 내에서 특정 레이어나 연산 집약적인 오퍼레이터(예: ROI Align)는 PVA로 오프로딩할 수 있습니다. 특정 조건에서는 소규모 딥러닝 네트워크 전체를 PVA로 포팅하는 것도 가능합니다.
- 수학 연산: PVA는 벡터 SIMD VLIW DSP 구조를 갖추고 있어 행렬 연산, FFT 등과 같은 수학 연산을 효율적으로 처리할 수 있습니다.