Virtual GPU (vGPU) ในการทำ Virtualization คืออะไร?
Virtual GPU (vGPU) คือเทคโนโลยีที่ช่วยให้ Virtual Machines หรือ VMs สามารถใช้ทรัพยากรของ การ์ดจอ (GPU) ร่วมกันได้ โดยไม่จำเป็นต้องมีการ์ดจอแยกสำหรับแต่ละ VM ซึ่งช่วยเพิ่มประสิทธิภาพในการประมวลผลกราฟิก งานด้านปัญญาประดิษฐ์ (AI) การเรนเดอร์ภาพ และงานประมวลผลที่ใช้ GPU อื่นๆ
vGPU ทำงานอย่างไร?
ชั้นการจำลอง GPU (GPU Virtualization Layer)
ซอฟต์แวร์ไฮเปอร์ไวเซอร์ (Hypervisor) จะทำหน้าที่แบ่งทรัพยากรของ GPU ออกเป็นส่วนย่อยๆ แต่ละ VM สามารถเข้าถึงและใช้งาน GPU ได้ในระดับที่เรากำหนดได้
ประเภทของการจำลอง GPU
– GPU Pass-through (การส่งผ่านโดยตรง)
ให้ VM หนึ่งเครื่องสามารถใช้ GPU ได้เต็มรูปแบบแบบ Exclusive ใช้สำหรับงานที่ต้องการประสิทธิภาพสูง เช่น Deep Learning และการประมวลผลภาพ
-vGPU แบบ Time-Slicing (การแบ่ง GPU ตามเวลา)
GPU จะถูกแบ่งให้หลาย VM ใช้งานร่วมกันโดยใช้หลักการ Time-sharing ทำให้หลาย VM สามารถใช้ GPU ได้พร้อมกันแบบไม่ต้องจองทั้งการ์ด
-Mediated Pass-through (การแบ่งใช้ GPU ผ่านไดรเวอร์)
ใช้ซอฟต์แวร์ไดรเวอร์ช่วยให้หลาย VM ใช้งาน GPU ได้แบบ Virtualized พบในเทคโนโลยี Intel GVT-g, NVIDIA GRID, AMD MxGPU
แพลตฟอร์มและซอฟต์แวร์ที่รองรับ vGPU
-NVIDIA vGPU / GRID – รองรับการแบ่งการ์ดจอใน Data Center และ Workstation
-AMD MxGPU (SR-IOV based) – รองรับการใช้งาน GPU แบบเสมือนจริงในเซิร์ฟเวอร์
-Intel GVT-g – สำหรับ CPU Intel ที่มี iGPU และรองรับ GPU Virtualization
Hypervisors ที่รองรับ
-VMware vSphere (รองรับ NVIDIA vGPU)
-Citrix XenServer
-Proxmox VE (รองรับ GPU Passthrough และบางกรณีรองรับ vGPU)
-KVM/QEMU (สามารถใช้ GPU Passthrough)
-Microsoft Hyper-V
การใช้งาน vGPU เหมาะกับงานอะไรบ้าง?
-VDI (Virtual Desktop Infrastructure) – เช่น VMware Horizon, Citrix XenDesktop
-AI & Machine Learning – ใช้ vGPU สำหรับ Deep Learning และ AI Training
-Cloud Gaming & Streaming – ใช้กับบริการเกมออนไลน์ เช่น NVIDIA GeForce NOW
-การเรนเดอร์และตัดต่อวิดีโอ – ใช้ใน Adobe Premiere, Blender, และงานออกแบบ CAD
ตัวอย่าง GPU รุ่นที่สนับสนุน Virtual GPU ของ NVIDIA : https://docs.nvidia.com/vgpu/latest/grid-vgpu-release-notes-generic-linux-kvm/index.html#hardware-configuration