한 줄로 요약하면 VM이 Host의 GPU 점유권을 뺏어서 사용하는 것! 그래서 100%의 성능을 낼 수 있는 것임. 동시에 사용할 수 있게 하려면 vGPU(유료)나 MIG(무료이지만 NVIDIA A100 이상만 가능)를 사용해야 한다.
자세한건 아래 ChatGPT의 설명 참고
🚀 1. GPU Passthrough의 핵심 개념
1️⃣ IOMMU (Input-Output Memory Management Unit)
• CPU가 직접 PCIe 장치(GPU)를 제어할 수 있도록 해주는 기술
• Intel VT-d, AMD-Vi (IOMMU 지원) 기능을 활성화해야 함
• IOMMU 없이 GPU를 VM에 Passthrough 하면 충돌 발생
2️⃣ VFIO (Virtual Function I/O)
• Linux에서 GPU 같은 PCI 장치를 VM에 직접 연결하기 위한 커널 모듈
• vfio-pci 드라이버를 이용하여 GPU를 호스트에서 분리
3️⃣ PCIe Direct Assignment
• GPU를 VM의 PCI 장치처럼 직접 연결
• VM은 이를 물리 GPU로 인식하고 네이티브 드라이버 사용 가능
4️⃣ GPU Driver Isolation
• GPU를 호스트가 아닌 VM에서만 사용할 수 있도록 드라이버를 격리
• VM이 GPU를 제어할 수 있도록 호스트에서 GPU 드라이버를 언로드(vfio-pci 사용)
🛠 2. GPU Passthrough의 동작 과정
1️⃣ GPU를 VFIO로 바인딩