跳至內容

什麼是GPU直通?

GPU直通

GPU 直通是一種虛擬化技術,它允許將實體圖形處理單元(GPU) 直接指派給單一虛擬機器 (VM)。這使得虛擬機器能夠像在裸機硬體上運行一樣存取 GPU 的全部功能。 GPU 直通繞過了虛擬機器管理程式的抽象層,為圖形密集型或運算密集型工作負載提供接近原生效能。

此功能在虛擬桌面基礎架構(VDI)、人工智慧等用例中至關重要。 AI )、機器學習(ML)和高效能運算( HPC在需要GPU加速才能獲得最佳效能的情況下,直通模式與共享或模擬GPU資源不同,它將整個GPU分配給一個虛擬機,從而提供最大的吞吐量和最小的延遲。

GPU 直通通常使用虛擬化平台來實現,例如 KVM(基於核心的虛擬機器)、VMware ESXi 和 Citrix Hypervisor,並且通常與 IOMMU(輸入/輸出記憶體)結合使用。管理功能 現代中央處理器(CPU)和主機板中可用的單元)技術。

GPU直通的工作原理

GPU 直通是透過硬體和軟體層面的虛擬化支援相結合的方式實現的,特別是 PCI Express( PCIe )裝置 利用IOMMU技術實現GPU直通。這使得實體GPU可以直接映射到客戶虛擬機,繞過主機系統的控制,使虛擬機能夠直接、低延遲地存取GPU。

硬體配置

要使 GPU 直通功能正常運作,伺服器必須支援 IOMMU(輸入/輸出記憶體)。管理功能 單元),它能夠裝置 隔離和記憶體位址重映射PCIe 裝置.在英特爾平台上,此功能稱為英特爾 VT-d;在AMD 系統,它被稱為AMD -六、兩者都必須得到支持CPU主機板晶片組和韌體。

要啟動 IOMMU,使用者必須在系統 BIOS 或 UEFI 設定中啟用它。這通常涉及啟用虛擬化擴充(VT-d 或 UEFI)。 AMD -Vi)並確保PCIe 如果平台支持,則啟用 ACS(存取控制服務)。某些系統可能還需要停用某些功能,例如:安全開機 或使用快速啟動以實現完全直通功能。

驅動程式 安裝

將 GPU 指派給虛擬機器後,必須安裝對應的供應商特定驅動程式來安裝客戶作業系統 (OS)。驅動程式,例如NVIDIAAMDIntel GPU驅動程式。這些驅動程式 允許客戶作業系統識別和利用實體 GPU 的全部功能,包括 3D 加速、用於平行運算的CUDA核心和硬體加速渲染管線。

在某些情況下,可能需要在客戶機中停用虛擬機器管理程式層級的圖形接口,以防止驅動程式 避免衝突,確保只使用直通 GPU。

虛擬機器管理程式設定

IOMMU 啟動後,下一步是設定支援此功能的虛擬機器管理程式。 PCIe 直通模式。常用的選擇包括 KVM/QEMU、VMware ESXi 和 Citrix Hypervisor(以前稱為 XenServer)。這些平台使用底層虛擬化技術。驅動程式 以及用於促進直接連接的應用程式介面 (API)。 PCIe 裝置 分配給客戶虛擬機器。

例如,在 KVM 環境中,裝置 直通功能透過 vfio-pci 核心模組進行配置,從而確保安全性和隔離性。裝置 訪問方式。 VMware ESXi 使用 DirectPath I/O 將 GPU 直接暴露給虛擬機,從而以最小的虛擬化開銷實現接近原生效能。

裝置 結合

GPU 直通的關鍵步驟是將 GPU 從宿主機系統分離並綁定到虛擬機器。這可以透過解除 GPU 的綁定來實現。 PCIe 來自任何預設主機的位址驅動程式 並將其綁定到直通驅動程式 例如 vfio-pci。

GPU 綁定後,宿主機作業系統將完全無法存取該 GPU,且只能由指定的虛擬機器使用。這可以防止衝突並確保獨佔 GPU 存取權限,這對於即時渲染、模擬或深度學習模型訓練等對延遲敏感的工作負載至關重要。

GPU直通的優勢與挑戰

GPU 直通使虛擬機器能夠直接存取實體 GPU,繞過虛擬機器管理程式的抽象層,從而提供接近原生效能。這使其非常適合計算密集型工作負載,例如: AI 訓練、電腦輔助設計 (CAD) 渲染和即時模擬。為虛擬機器分配專用 GPU 還可以提高隔離性和效能穩定性,這在生產環境中至關重要。

除了提升原始效能之外,直通功能還能透過在虛擬桌面、遠端工作站和容器化應用程式中啟用 GPU 加速來擴展虛擬化功能。它使企業能夠在更少的實體伺服器上整合工作負載,同時保持每個虛擬機器的高效能,從而提高硬體利用率和營運效率。

然而,GPU直通帶來了一些技術挑戰。它需要IOMMU支援。 CPU 主機板等級、正確的 BIOS 或 UEFI 配置以及支援直通的 GPU 也是需要考慮的因素。許多消費級 GPU 缺乏完整的虛擬化支持,這可能導致相容性受限或驅動程式 客戶作業系統中的問題。

安裝複雜性是另一個因素,通常需要修改內核,而且非常精確。裝置 綁定和虛擬機器管理程式層級的調優。故障排除通常很耗時,尤其是在無頭伺服器上,而且更改通常需要重啟,因為直通 GPU 的熱插拔支援有限或不可用。

GPU直通的硬體需求

實現 GPU 直通需要支援 IOMMU 虛擬化功能的伺服器硬件,例如 Intel VT-d 或AMD -Vi,以及正確的BIOS或UEFI配置。 CPU主機板晶片組和韌體必須全部相容,且GPU必須支援直通功能,這通常見於NVIDIA A100等企業級顯示卡。 AMD 本能 MI 系列。

此外,系統應提供足夠的PCIe 提供充足的通道和電源,以支援全尺寸 GPU。伺服器平台針對高密度 GPU 工作負載進行了最佳化,通常配備先進的PCIe 為了在管理良好的資料中心環境中實現高效的直通配置,需要拓撲結構、強大的冷卻架構和韌體級直通支援。

常見問題解答

  1. 如何啟用GPU直通?
    透過啟動 IOMMU 支援(VT-d 或)來啟用 GPU 直通。 AMD在系統 BIOS 或 UEFI 中找到 -Vi)選項,然後設定您的虛擬機器管理程式(例如 KVM 或 VMware ESXi)將 GPU 直接指派給虛擬機器。您還需要將 GPU 從主機解綁。驅動程式 並安裝合適的GPU驅動程式 在客戶虛擬機器中。
  2. GPU直通需要兩塊GPU嗎?
    雖然並非絕對必要,但建議使用兩塊GPU。一塊專用於主機系統,另一塊專用於虛擬機器。這樣可以確保主機能夠維持顯示輸出和系統穩定性,同時虛擬機器使用的GPU完全隔離。
  3. GPU直通功能是否支援容器化?
    是的,如果虛擬機器本身俱有直接的 GPU 存取權限,則可以在容器中使用 GPU 直通。此外,諸如 NVIDIA Docker 或 GPU 操作框架之類的容器專用解決方案也為 Kubernetes 環境提供了 GPU 存取權限。