- GPU passthrough (vDGA/VMDirectPath I/O) di VMware memetakan GPU fisik penuh ke VM untuk mencapai performa mendekati native.
- Penggunaannya memerlukan persyaratan ketat berupa perangkat keras (VT-d/AMD-V, IOMMU, MMIO 64-bit) dan firmware EFI/UEFI pada mesin virtual.
- Mengaktifkan vDGA mengakibatkan hilangnya fitur-fitur penting vSphere seperti vMotion, DRS, dan snapshot pada VM yang menggunakan GPU dalam mode passthrough.
- Dibandingkan dengan vGPU dan solusi lainnya, vDGA memprioritaskan kinerja khusus daripada fleksibilitas dan kemampuan untuk berbagi GPU di antara beberapa VM.
Menghubungkan GPU fisik secara langsung ke mesin virtual di VMware Ini adalah salah satu perubahan yang membuat perbedaan besar saat menangani beban grafis yang berat. IA atau rendering 3D. Beralih dari kartu grafis yang diemulasi ke akses langsung melalui passthrough (vDGA / VMDirectPath I/O) dapat mendekatkan kinerja VM ke kinerja mesin fisik, tetapi sebagai gantinya menambahkan cukup banyak persyaratan dan batasan yang harus sangat jelas sebelum memulai.
Selain itu, dalam ekosistem saat ini, beberapa cara penggunaan GPU di lingkungan virtualisasi dapat berjalan bersamaan: Passthrough khusus, vGPU bersama, dan teknologi seperti BitFusion atau partisi GPU.Memahami fungsi masing-masing, dalam kasus apa ia cocok, dan bagaimana konfigurasinya di vSphere/ESXi (dan bagaimana kaitannya dengan teknologi serupa seperti Hyper-V DDA) adalah kunci untuk menghindari jalan buntu terkait perangkat keras atau versi hypervisor yang dipilih.
Apa itu GPU passthrough (vDGA / VMDirectPath I/O) di VMware?
GPU passthrough di VMware, juga dikenal sebagai vDGA atau VMDirectPath I/O.Ini adalah mode operasi di mana kartu grafis fisik yang terpasang di host ESXi langsung dialokasikan ke mesin virtual. Alih-alih menggunakan adaptor grafis yang diemulasikan oleh hypervisor, sistem operasi tamu melihat GPU seolah-olah terhubung ke motherboard fisik.
Jalan pintas ini memungkinkan VM untuk memanfaatkannya. seluruh kekuatan chip grafis, memori video, dan fitur-fitur canggihnya. seperti CUDA, OpenCL, Direct3D, dan OpenGL secara native, dengan sedikit sekali overhead tambahan dari hypervisor. Dalam pengujian lab VMware, biasanya dilaporkan penurunan performa sekitar 4-5% dibandingkan dengan menjalankan GPU yang sama pada bare metal.
Dalam praktiknya, menggunakan GPU passthrough berarti bahwa Kartu tersebut sepenuhnya dikhususkan untuk satu mesin virtual.Tidak ada alokasi sumber daya yang terperinci antara beberapa VM, dan juga tidak ada lapisan perangkat lunak pihak ketiga yang dimuat ke ESXi untuk berbagi kartu grafis, tidak seperti yang terjadi pada solusi vGPU seperti NVIDIA KISI-KISI.
Penting untuk membedakan pendekatan ini dari cara lain dalam menggunakan GPU dalam virtualisasi, seperti NVIDIA vGPU (vGPU bersama), RemoteFX/partisi pada solusi tipe Hyper-V atau BitFusionyang bertujuan untuk mendistribusikan GPU atau kumpulan GPU di antara beberapa mesin dengan teknik virtualisasi atau pengalihan jarak jauh yang berbeda.
Ketika kita berbicara tentang vDGA di dunia VMware, pada dasarnya kita sedang menjelaskan hal ini. penugasan langsung perangkat PCIe GPU ke VM. menggunakan VMDirectPath I/O, dengan segala kebaikan (kinerja) dan keburukan (keterbatasan mobilitas dan ketersediaan tinggi) yang menyertainya.

Keunggulan menggunakan GPU passthrough di vSphere
Alasan utama beralih ke vDGA adalah karena Performa grafis dan komputasinya sangat mendekati performa komputer fisik.Dengan menghilangkan sebagian besar lapisan virtualisasi untuk perangkat PCIe tersebut, hambatan khas dari GPU yang diemulasi hilang dan VM dapat bekerja dengan game, aplikasi 3D, atau mesin AI dengan jauh lebih lancar.
Hal ini terutama terlihat dalam skenario di mana GPU terintegrasi atau kartu grafis virtual yang diemulasikan secara default jauh dari memadai: Desain grafis tingkat lanjut, CAD, pemodelan dan rendering 3D, penyuntingan video, animasi, dan pengembangan game.Hal ini juga sangat penting dalam melatih model pembelajaran mesin dan beban kerja AI yang sangat bergantung pada CUDA atau yang setara.
Keunggulan lain yang jelas adalah penggunaan perangkat keras yang lebih fleksibel di tingkat pusat data. Alih-alih memiliki stasiun kerja fisik per pengguna atau per proyekDimungkinkan untuk mendedikasikan host ESXi berukuran memadai untuk beberapa VM, masing-masing dengan GPU-nya sendiri dalam mode passthrough, dan bereksperimen dengan jadwal atau permintaan puncak.
Dalam lingkungan tertentu, terutama jika server dengan slot PCIe kosong sudah tersedia, biaya per pengguna atau per proyek Biayanya mungkin lebih rendah daripada memelihara sejumlah besar workstation fisik yang canggih, terutama jika kartu grafis tidak dibutuhkan 24 jam sehari dan dapat dikonfigurasi ulang sesuai dengan periode kerja intensif.
Terakhir, ada juga manfaat tidak langsung dalam hal keamanan dan operasional: dengan menjaga beban kerja grafis. di dalam mesin virtual yang terisolasiJika terjadi kesalahan (eksploitasi, driver bermasalah, konfigurasi yang salah), akan lebih mudah untuk membatasi dampaknya, kembali ke snapshot sebelumnya atau memulihkan dari cadangan, selama batasan passthrough, yang akan kita lihat nanti, dipatuhi.
GPU passthrough versus vGPU dan alternatif lainnya
Dalam ekosistem VMware, terdapat beberapa cara untuk memanfaatkan kartu grafis, dan tidak semuanya melibatkan pengalokasian sepenuhnya untuk satu VM. Yang paling terkenal adalah: I/O vDGA / VMDirectPath, vGPU (NVIDIA GRID atau lainnya) dan solusi akses/komputasi jarak jauh seperti BitFusion..
Dalam mode passthrough langsung (vDGA), GPU dialokasikan khusus untuk mesin virtualCore komputasi dan VRAM tidak dibagi antara beberapa VM, dan peran hypervisor praktis tidak ada selain mengarahkan perangkat PCIe ke guest. Ini adalah opsi yang paling mudah dipahami dan yang paling mirip dengan server fisik dengan kartu grafis khusus.
Dalam pendekatan vGPU, perangkat lunak khusus (misalnya NVIDIA GRID vGPU pada VMware vSphereIa menangani virtualisasi GPU pada tingkat pengontrol dan mengekspos instance virtual GPU yang dapat ditugaskan ke beberapa VM secara bersamaan. Setiap mesin tamu melihat "bagian" dari GPU dengan sumber daya yang terjamin atau dibagi.
vGPU memungkinkan beberapa desktop atau server virtual untuk berbagi satu kartu grafis, yang sangat berguna dalam VDI, lingkungan kantor akselerasi ringan, stasiun kerja grafis lini depan di sektor ritel atau perhotelan.atau skenario di mana penggunaan grafis puncak tidak merata di antara pengguna. Sebagai imbalannya, ada beberapa overhead, dan kinerja puncak yang sama tidak tercapai seperti dengan seluruh GPU fisik yang didedikasikan untuk satu VM.
Ada juga solusi seperti BitFusion Flexdirect dan teknologi serupayang memungkinkan GPU digunakan melalui jaringan dari berbagai VM, ideal untuk beban kerja AI dan HPC di mana GPU bertindak lebih sebagai sumber daya komputasi jarak jauh daripada sebagai kartu video untuk antarmuka grafis pengguna.
Pilih antara vDGA, vGPU, atau model GPU jarak jauh. Hal ini bergantung pada apakah Anda perlu memanfaatkan GPU sepenuhnya untuk satu mesin (passthrough), apakah Anda ingin mendistribusikan kartu grafis mahal di antara banyak pengguna dengan beban kerja sedang (vGPU), atau apakah kuncinya adalah mengatur kumpulan GPU untuk komputasi terdistribusi (BitFusion dan sejenisnya).
Persyaratan perangkat keras untuk menggunakan vDGA di ESXi
Sebelum merencanakan penerapan GPU passthrough di VMware, Anda perlu memastikan bahwa... Platform perangkat keras memenuhi serangkaian kondisi. yang melampaui sekadar "memasang kartu grafis ke server".
Pertama, prosesor dan chipset motherboard host ESXi harus mendukung virtualisasi dengan IOMMU. Di Intel Hal ini dicapai melalui Intel VT-x plus VT-dy, dan melalui AMD via AMD-V dengan IOMMU. BIOS/UEFI server biasanya memiliki opsi khusus untuk ini. mengaktifkan ekstensi virtualisasi dari I/O.
Kedua, Anda perlu memeriksa pelat penyangga. Pemetaan memori MMIO di atas 4 GB (kadang-kadang diberi label sebagai “Dekode di atas 4G”, “I/O yang dipetakan memori di atas 4G” atau yang serupa). Ini sangat penting terutama untuk GPU kelas atas seperti Tesla, P100, V100 dan yang setara, yang mendeklarasikan wilayah memori yang sangat besar di BAR (Base Address Register) mereka.
Beberapa kartu grafis kelas atas ini dapat melakukan pemetaan. lebih dari 16 GB ruang MMIOOleh karena itu, selain memainkan peran BIOSKemudian, parameter tertentu dalam pengaturan VM tingkat lanjut di vSphere perlu disesuaikan agar dapat melakukan booting dengan GPU tersebut tanpa kesalahan sumber daya yang tidak mencukupi.
Tentu saja, GPU itu sendiri haruslah... kompatibel dengan platform server dan didukung oleh produsen host (Dell, HPE, Lenovodll.) saat digunakan dalam mode passthrough. Pada praktiknya, sebagian besar GPU PCIe modern berfungsi, tetapi disarankan untuk memeriksa daftar kompatibilitas, terutama untuk kartu GRID atau model yang sangat baru.
Persyaratan perangkat lunak dan kompatibilitas versi
Pada tingkat perangkat lunak, penting untuk memperjelas bahwa... VMware mendukung vDGA di vSphere 6.x dan versi yang lebih baru.Namun, beberapa pengguna telah melaporkan masalah khusus dengan kombinasi perangkat keras tertentu (misalnya, GPU NVIDIA GRID di server Dell R720 dengan ESXi 6.x).
Dalam kasus ini, seringkali terlihat kesalahan seperti "perangkat sudah digunakan" atau gejala yang menunjukkan bahwa Fitur passthrough berhenti berfungsi setelah melakukan upgrade dari ESXi 5.5 ke 6.x.Padahal kenyataannya ini lebih tentang bug spesifik, perubahan dalam manajemen perangkat PCI atau driver, bukan penarikan dukungan secara resmi.
Sistem operasi tamu yang akan menggunakan GPU dalam mode passthrough harus memiliki driver resmi pabrikan terpasang di dalam VM (NVIDIA, AMD, Intel), karena ESXi tidak memuat driver khusus untuk kartu tersebut saat menggunakan VMDirectPath I/O; hypervisor hanya mengekspos perangkat tersebut ke guest.
Selain itu, VM harus dikonfigurasi agar dapat melakukan booting. Mode EFI atau UEFI Saat menggunakan GPU yang mendeklarasikan wilayah memori MMIO yang besar. Detail ini sangat penting: firmware VM yang salah dapat menyebabkan kegagalan. boot atau GPU tidak terinisialisasi dengan benar dari sistem operasi tamu.
Di sisi klien, jika akses ke VM terjadi melalui Akses desktop jarak jauh (RDP atau protokol lainnya)Kebijakan yang sesuai perlu diaktifkan agar sistem tamu menggunakan adaptor grafis perangkat keras dalam sesi jarak jauh dan tidak terjebak dengan driver generik tanpa akselerasi.

Mengonfigurasi host ESXi untuk menggunakan GPU dalam mode passthrough.
Langkah praktis pertama adalah mempersiapkan Server vSphere/ESXi untuk mengekspos GPU sebagai perangkat I/O DirectPath.Ini melibatkan akses ke BIOS, memeriksa inventaris PCI pada host, dan menandai kartu agar dapat ditetapkan ke VM.
Jika GPU membutuhkan area memori MMIO yang besar (16 GB atau lebih), Anda perlu mencari opsi seperti di BIOS/UEFI server. “Dekode di atas 4G” atau “Penanganan sumber daya PCI 64-bit di atas 4G” dan mengaktifkannya. Nama spesifiknya bervariasi tergantung pada produsen, tetapi biasanya dapat ditemukan di pengaturan PCI atau bagian sumber daya lanjutan.
Setelah ESXi dijalankan dengan pengaturan ini, di klien vSphere Anda dapat pergi ke host yang bersangkutan dan mengaksesnya. “Konfigurasi → Perangkat Keras → Perangkat PCI → Edit” Untuk melihat daftar perangkat PCI yang terdeteksi, Anda akan melihat kartu NVIDIA, AMD, atau yang serupa bersama dengan perangkat keras PCI server lainnya.
Jika GPU belum diaktifkan untuk DirectPath I/O, cukup centang kotak tersebut. kotak akses di pintu masuk Anda di dalam daftar tersebut. Saat menyimpan perubahan, vSphere akan meminta Anda untuk memulai ulang host agar konfigurasi diterapkan, karena hypervisor perlu memesan dan mempersiapkan perangkat untuk dialokasikan kembali ke VM.
Setelah restart, saat kembali ke bagian tersebut “Konfigurasi → Perangkat Keras → Perangkat PCI” Jendela yang berjudul kurang lebih "Perangkat PCI I/O DirectPath yang Tersedia untuk VM" akan ditampilkan, mencantumkan semua perangkat yang telah tersedia untuk digunakan dalam mesin virtual, termasuk GPU dan, dalam banyak kasus, adaptor jaringan canggih seperti Mellanox.
Mempersiapkan dan mengkonfigurasi mesin virtual
Setelah host siap, langkah selanjutnya adalah membuat atau mengadaptasi mesin virtual yang akan menggunakan GPU. Hal pertama yang perlu dipastikan adalah VM tersebut Perangkat ini telah dibuat dengan firmware EFI/UEFI yang sesuai.terutama dalam skenario dengan GPU kelas atas dan MMIO tinggi.
Di klien vSphere, cukup pilih VM, lalu buka “Edit Pengaturan → Opsi VM → Opsi Boot” dan pastikan bahwa "EFI" atau "UEFI" dipilih pada kolom "Firmware". Jika tidak, perlu diubah (dan dalam beberapa kasus, VM atau sistem operasi perlu dibuat ulang jika tidak mendukung hot-swapping ini).
Saat menggunakan passthrough dengan kartu yang memetakan lebih dari 16 GB ruang MMIO, disarankan untuk menyesuaikan beberapa parameter lanjutan dalam konfigurasi VM, yang dapat diakses dari “Edit Pengaturan → Opsi VM → Lanjutan → Parameter Konfigurasi → Edit Konfigurasi”Di sana Anda dapat menambahkan kunci yang terkait dengan pciPassthru untuk mengontrol bagaimana ruang alamat dicadangkan.
Secara spesifik, penggunaan MMIO 64-bit biasanya diaktifkan dan ukuran ditentukan untuk wilayah tersebut, yang dihitung dari Berapa banyak GPU kelas atas yang akan dialokasikan ke VM tersebut?Aturan praktisnya biasanya adalah mengalikan 16 dengan jumlah GPU dan membulatkan hasilnya ke pangkat dua berikutnya (misalnya, dua GPU tersebut akan menghasilkan 64 GB MMIO 64-bit).
Setelah menyesuaikan parameter-parameter ini, instalasi dilakukan atau diverifikasi bahwa Sistem operasi tamu mendukung EFI/UEFI dan mampu menangani ukuran memori dan GPU yang dimaksud.Saat ini, kartu grafis belum terhubung ke VM; lingkungan hanya sedang dipersiapkan agar, ketika sudah terhubung, semuanya akan berjalan tanpa kesalahan karena kekurangan sumber daya atau firmware yang tidak kompatibel.
Tetapkan GPU ke VM menggunakan VMDirectPath I/O
Setelah host menandai GPU sebagai tersedia untuk DirectPath I/O dan VM dikonfigurasi dengan benar, saatnya untuk secara fisik menghubungkan kartu tersebut dengan mesin virtual ituLangkah ini harus dilakukan saat VM benar-benar dimatikan.
Dari klien vSphere, pilih VM dan masukkan Klik “Edit Pengaturan” untuk meninjau perangkat keras virtual.Pada daftar perangkat, Anda dapat mengklik "Tambah Perangkat Baru" dan memilih "Perangkat PCI" jika GPU belum terdaftar. Kemudian, pilih perangkat PCI yang sesuai dengan kartu grafis (misalnya, kartu NVIDIA atau AMD yang terdeteksi pada host).
Saat konfigurasi disimpan, VM akan menampilkan sesuatu seperti ini pada perangkat kerasnya. “Perangkat PCI 0” yang terkait dengan GPU tertentuMulai dari titik ini, ketika sistem operasi tamu dimulai, sistem akan melihat adaptor PCIe tambahan yang sesuai dengan kartu grafis fisik.
Sangat penting agar mesin virtual tersebut memiliki mencadangkan seluruh memori yang telah dialokasikan untuknya.Di vSphere, ini dikonfigurasi di “Edit Settings → Virtual Hardware → Memory”, dengan mengatur nilai “Reservation” ke jumlah RAM yang dikonfigurasi untuk VM. Tanpa reservasi penuh ini, PCI passthrough mungkin gagal atau mengalami masalah sesekali.
Setelah menghidupkan VM, pada suatu sistem Linux Keberadaan GPU dapat diverifikasi dengan perintah jenis lspci | grep nvidiaSedangkan di Windows, pengaturan tersebut akan muncul di bawah "Adaptor tampilan" di Pengelola PerangkatAdalah hal yang wajar untuk melihat adaptor grafis yang diemulasi VMware dan GPU fisik khusus secara bersamaan.
Langkah terakhir adalah menginstal hal-hal berikut pada perangkat tamu: driver Pejabat produsen GPUUnduh driver dari situs web NVIDIA, AMD, atau Intel, dan hindari menggunakan driver generik atau driver yang disediakan oleh pihak ketiga. Windows Updateyang mungkin tidak dioptimalkan untuk skenario passthrough.
Keterbatasan vSphere dan fitur yang tidak berfungsi dengan vDGA
Sisi B dari GPU passthrough di VMware adalah bahwa Beberapa fitur canggih dari platform tersebut hilang. dengan mendedikasikan perangkat fisik secara langsung untuk VM. Itulah harga yang harus dibayar untuk performa yang hampir setara dengan performa native.
Pengorbanan besar pertama adalah vMotion dan DRSMesin virtual dengan GPU dalam mode passthrough tidak dapat dimigrasikan secara langsung ke host lain karena kartu tersebut secara fisik terkunci pada server asalnya. Kebijakan penyeimbangan beban otomatis yang melibatkan pemindahan VM antar host dalam klaster juga tidak dapat digunakan.
Fitur-fitur seperti Snapshot tradisional atau mekanisme ketersediaan tinggi tertentu untuk VM spesifik tersebut. Karena bergantung pada perangkat keras fisik yang sangat khusus, kemampuan untuk membekukan dan memulihkan keadaan yang kompleks menjadi terganggu.
Aspek lain yang perlu dipertimbangkan adalah bahwa, dalam mode ini, GPU tidak dibagi antara beberapa VM.Jika dibutuhkan beberapa desktop atau server dengan akselerasi grafis pada mesin yang sama, satu kartu grafis per VM akan diperlukan, atau alternatifnya, model vGPU dapat digunakan di mana kartu grafis tersebut divirtualisasi di beberapa instance.
Dari sisi dukungan, mungkin ada kasus-kasus spesifik di mana Kombinasi tertentu antara perangkat keras dan driver dapat menyebabkan masalah.Seperti yang telah diamati oleh beberapa pengguna saat melakukan upgrade ke ESXi 6.x dengan kartu NVIDIA GRID pada server tertentu (misalnya, Dell R720), disarankan untuk meninjau dokumentasi VMware dan produsen GPU dalam skenario ini, dan membuka kasus dukungan jika diperlukan.
Terakhir, perlu dicatat bahwa teknologi atau layanan tertentu yang berinteraksi dengan grafik, seperti desktop jarak jauh, subsistem Linux di Windows, atau fitur sistem operasi tingkat lanjut.Hal ini dapat mengganggu atau menyebabkan kesalahan "Kode 43" pada driver NVIDIA jika mendeteksi bahwa Anda bekerja di dalam VM dengan GPU passthrough.
Passthrough GPU di hypervisor lain: paralel dengan Hyper-V
Meskipun fokus di sini adalah pada VMware, ada baiknya memahami bagaimana hypervisor lainnya (misalnya, virtualisasi dengan KVM dan virt-manager) menangani kebutuhan yang sama untuk mengalokasikan GPU fisik ke VMKarena terminologi dan alat yang digunakan berubah, tetapi ide dasarnya tetap sama.
Di Hyper-V, yang setara dengan VMware VMDirectPath I/O adalah Penugasan perangkat langsung menggunakan DDA (Discrete Device Assignment)Teknik ini memungkinkan pemetaan perangkat PCIe tertentu, seperti GPU atau NVMe, langsung di dalam mesin virtual Windows, dengan tingkat kontrol dan kinerja yang mirip dengan passthrough di ESXi.
Versi Windows Server yang lebih lama menggunakan teknologi ini. RemoteFX untuk menawarkan virtualisasi GPU dan berbagi kartu grafis di antara beberapa VM. Dengan el tiempoKarena masalah keamanan dan keterbatasan kinerja (seperti batasan 1GB VRAM per VM dan 30 FPS), Microsoft menghentikan dukungan untuk RemoteFX dan menjadikan DDA sebagai jalur utama untuk skenario GPU khusus.
Di Windows 10 dan Windows 11Terutama dengan kompilasi tertentu, dukungan telah muncul untuk Pemartisian GPU dan mekanisme yang digunakan kembali dari WSL2 dan Windows SandboxNamun, konfigurasinya biasanya melibatkan skrip yang kompleks dan penyalinan driver dari host ke guest, yang tidak semudah menetapkan perangkat di vSphere.
Mengetahui alternatif-alternatif ini memungkinkan kita untuk melihat bahwa Filosofi menawarkan akses yang hampir setara dengan perangkat asli ke GPU melalui saluran PCIe langsung. Hal ini umum terjadi pada beberapa hypervisor, meskipun masing-masing memiliki nuansa, perintah, dan batasan kompatibilitasnya sendiri.
Seluruh ekosistem passthrough, vGPU, dan DDA ini menunjukkan bahwa, dengan konfigurasi yang tepat dan perangkat keras yang sesuai, Sangat memungkinkan untuk menggunakan GPU yang bertenaga di dalam mesin virtual untuk produksi Untuk beban kerja mulai dari desktop grafis yang menuntut hingga AI dan HPC, selalu diasumsikan bahwa Anda harus mengorbankan beberapa kemudahan virtualisasi tradisional dan memperhatikan dengan saksama driver, versi hypervisor, dan dukungan produsen GPU.
Penulis yang bersemangat tentang dunia byte dan teknologi secara umum. Saya suka berbagi ilmu melalui tulisan, dan itulah yang akan saya lakukan di blog ini, menunjukkan kepada Anda semua hal paling menarik tentang gadget, perangkat lunak, perangkat keras, tren teknologi, dan banyak lagi. Tujuan saya adalah membantu Anda menavigasi dunia digital dengan cara yang sederhana dan menghibur.
