借助最新的 Game Ready 驅動程序,NVIDIA 已啟用對 Windows 虛擬機的 GPU 直通測試版支持 GeForce 圖形處理器. 在驅動程序 465.89 之前,只有 Quadro NVIDIA 卡支持 GPU 直通。 對於 Linux 用戶,這項技術將允許在您的 VM 中玩僅限 Windows 的遊戲; 或者,如果您是一名開發人員,您可以更輕鬆地從一台機器上同時測試 Windows 和 Linux 代碼,從而加速開發。
借助最新的 Game Ready 驅動程序,NVIDIA 已啟用對 Windows 虛擬機的 GPU 直通測試版支持 GeForce 圖形處理器. 在驅動程序 465.89 之前,只有 Quadro NVIDIA 卡支持 GPU 直通。 對於 Linux 用戶,這項技術將允許在您的 VM 中玩僅限 Windows 的遊戲; 或者,如果您是一名開發人員,您可以更輕鬆地從一台機器上同時測試 Windows 和 Linux 代碼,從而加速開發。
GPU passthrough 已經使用了很長時間,並且有辦法在 GeForce 顯卡上啟用它; 但是,它從未得到官方支持。 從技術上講,該技術在 GeForce 的矽芯片中一直可用,但在驅動程序中未啟用,導致 Windows 虛擬機上流行的“錯誤 43”。 很長一段時間以來,使用軟件破解都可以在消費類 GeForce 卡和 vGPU 功能上啟用 GPU 直通。 有關 vGPU 的更多信息,請參閱本文。
NVIDIA Game Ready 驅動程序 465.89
今年 30 月 465.89 日,NVIDIA 發布了新的 Game Ready 驅動程序 30。 該驅動程序支持全新的視頻遊戲,並修復了許多其他遊戲和應用程序中存在的未決問題。 但是,在遊戲技術下可以找到關於此新版本的一些特別令人興奮的內容。 在此,宣布了三個重要功能:GeForce RTX 3.0 系列的可調整大小的 BAR、對 OpenCL XNUMX 的支持以及對 GeForce GPU 虛擬化的 Beta 支持。
可調整大小的 BAR
可調整大小的 BAR 允許 CPU 一次訪問所有 PCIe 設備的內存,而不是以前每個週期 256MB 的限制。 Smart Access Memory,SAM(AMD 的技術術語)於去年由該公司宣布並已實施。
OpenCL 3.0
添加了對 OpenCL 3.0 的支持,OpenCL 的最新主要版本保持與 OpenCL 1.2 的向後兼容性。 NVIDIA OpenCL 3.0 繼續支持現有的 OpenCL 1.2 功能以及 NVIDIA OpenCL 1.2 驅動程序已經支持的 Khronos 和供應商擴展。
Beta 支持 GeForce GPU 上的虛擬化。
此外,從這個驅動程序開始,NVIDIA 已經在所有基於開普勒架構的 GeForce 顯卡和 Windows 虛擬機的更新版本上啟用了 GPU 直通(不是 vGPU,也就是 GPU 共享的 SR-IOV)。 這是我們在本文中關注的技術。 儘管可調整大小的 BAR 是新一代 RTX 和遊戲玩家最期待的功能之一,但 GeForce GPU 上的虛擬化是“HomeLabers”和 Linux 用戶最期待的新增功能。
對 GeForce 的 Windows 虛擬機測試版支持
如果您主要是 Linux 用戶,您現在可以在 Windows 虛擬機 (VM) 上啟用 GeForce GPU 直通。 NVIDIA GPU 直通僅保留用於企業或工作站級 GPU。 該公司不允許 GeForce 客戶將此技術用於在其消費級計算機中運行的 Windows VM。 然而,許多客戶實際上將 GeForce 卡用作工作站 GPU。
在消費卡上,芯片從來都不是 GPU 直通的問題; 是軟件(驅動程序)將用戶拒之門外。 以前,要使用 GPU 直通,用戶必須花費大量資金購買 NVIDIA Tesla 或 Quadro 卡。 對 GeForce 的 GPU 直通測試版支持對於那些希望在虛擬機中運行 Windows 遊戲同時維護其 Linux(物理)主機並使用 GeForce 顯卡的用戶來說是一個有意義的勝利。
該技術的主要目標是希望多任務 GPU 要求高的應用程序的 Linux 用戶。 在一些 GeForce 用例中,此功能是有益的,例如:
- 希望運行 Linux 主機並能夠啟動 Windows 虛擬機 (VM) 來玩遊戲的 GeForce 客戶
- 希望在一台機器上測試 Windows 和 Linux 代碼的遊戲開發人員
R465 或更高版本的驅動程序支持 GeForce 虛擬化(測試版)。 它在 Windows 上此驅動程序支持的所有 GeForce/TITAN GPU 上啟用(Kepler 和更高版本的台式機;Maxwell 和更高版本的筆記本電腦)。 Windows 10 是此 GeForce 虛擬化設置唯一支持的來賓操作系統。
使用 GeForce GPU Passthrough,您無法利用主機操作系統使用的相同 GPU 進行虛擬化。 Linux 主機操作系統需要一個 GPU,Windows 虛擬機需要一個 GPU。 此外,請務必記住 GPU 直通僅支持一個虛擬機。 GeForce 不支持多個 VM 的 vGPU (SR-IOV) 或共享 GPU 直通。 假設你想讓各種 VM 直接訪問單個 GPU,或者希望 GPU 將虛擬功能分配給多個虛擬機。 在這種情況下,您將需要使用工作站或企業 GPU。
GPU 直通錯誤:代碼 43
如果您曾經嘗試從 Linux 機器運行 Windows 虛擬機,在 Game Ready 驅動程序 465.89 之前,來賓操作系統中的驅動程序將返回流行的“代碼 43”。 當 GeForce 驅動程序檢測到操作系統實際上正在 VM 上運行時,此錯誤僅出現在 Windows(來賓)操作系統中。 GeForce GPU 對虛擬化的支持意味著您不再需要隱藏您的 VM; 可以安裝驅動程序,並且此錯誤代碼應該消失了。
值得一提的是,NVIDIA 故意為 GeForce 顯卡設計了這個錯誤代碼。 它沒有體現在公司的企業級顯卡 Tesla 和 Quadro GPU 上。 原因是 NVIDIA 當然需要將消費者與企業級細分市場分開。 一些企業功能對消費類(性能較低)視頻卡沒有多大意義,但啟用其中一些功能會導致 NVIDIA 企業(昂貴)卡的銷售損失慘重。
GPU 直通與 vGPU
許多用戶仍然對 GPU Passthrough 和 NVIDIA 提供的技術能力感到困惑。 重要的是重新審視 GeForce GPU 上的虛擬化是什麼,什麼不是。 對於許多 GPU 愛好者來說,GPU 直通這個術語聽起來很容易理解; 然而,它通常與 NVIDIA 虛擬 GPU (vGPU) 混淆。
GPU Passthrough 和 vGPU 都是長期用於企業虛擬化解決方案的技術,例如 VMware ESXi 和 思傑XenServer. 以及 Tesla 和 Quadro GPU。 在VMware ESXi中,GPU Passthrough被稱為虛擬專用圖形加速(vDGA),vGPU被稱為虛擬共享圖形加速(vSGA)。 vGPU 允許跨多個虛擬桌面共享企業級 GPU。
VMware 提供了第三個選項,稱為虛擬共享直通圖形加速。 這項技術允許 GPU 與多個用戶共享,而不是只專注於一個用戶。 與vGPU(VMware中的vSGA)不同的是,它沒有使用專有的VMware 3D驅動程序,並且支持顯卡的大部分功能。 請記住,使用 GeForce 卡上的 GPU Passthrough,您無法讓多個虛擬機直接訪問單個 GPU,GPU 也無法將虛擬功能分配給多個虛擬機。
虛擬桌面基礎設施 (VDI) 是使用這些 GPU 技術的最佳示例和場景。 VDI 解決方案通過快速創建數百個在單個強大的服務器或集群上運行的 VM 克隆來利用虛擬化。 大多數時候,vGPU 是需要在短時間內充分發揮 GPU 潛力的用戶的最佳選擇。 但是,vGPU 可能會造成瓶頸,具體取決於使用的應用程序以及這些應用程序需要從 GPU 獲得的資源。 vGPU 通常用於知識工作者,偶爾也用於高級用戶。 如今,在不承認 vGPU 的情況下規劃 VDI 解決方案被認為是一種疏忽行為。
Nvidia vGPU 被黑用於 GeForce 卡
即使在最新的 NVIDIA 驅動程序中啟用了 GPU 直通,GeForce 用戶仍然無法(正式)在多個虛擬桌面之間共享 GPU。 對於 vGPU,您需要使用 NVIDIA Tesla、Quadro 或 RTX 企業級 GPU。 所以,你不能在這個問題上欺騙 NVIDIA,是嗎?
幾個月前,有消息稱可以解鎖消費級 GPU 的 vGPU 功能。 該工具支持將 GeForce 和 Quadro GPU 與 NVIDIA vGPU 軟件配合使用。 NVIDIA vGPU 通常只支持少數 Tesla GPU,但由於某些 GeForce 和 Quadro GPU 與 Tesla 共享相同的物理芯片,這只是這些 GPU 的軟件限制。 此工具旨在消除此限制。
該工具和說明可在 https://github.com/DualCoder/vgpu_unlock.
最後的思考
NVIDIA 最終決定刪除他們在 GeForce 卡上任意設置的塊。 在 NVIDIA 發布驅動程序 465.89 之前,當來賓操作系統檢測到虛擬機時,該驅動程序在 Windows 和 Linux 中被禁用。 啟用虛擬化後,Linux 主機 PC 上的 GeForce 客戶現在可以在虛擬 Windows 來賓操作系統上啟用 GeForce GPU 直通。
從技術上講,對 GeForce GPU 虛擬化的支持不是測試版; 但更像是 NVIDIA 只是勾選一個框來解鎖一個已經存在了很長時間的功能。 然而,GPU Passthrough 仍然僅限於單個 GPU 實例,這意味著只有虛擬機才能獨占訪問顯卡。
至於 vGPU,不幸的是,除非你完全進入企業,否則 NVIDIA 仍然不支持與多個虛擬機共享 GPU,就像 CPU 製造商所做的那樣。 如果用戶需要更多的虛擬機訪問同一個 GPU,那麼將需要 Tesla 或 Quadro 顯卡。 但這可能會隨著 GPU 直通而發生變化。 目前,可以使用軟件 hack 來試用 vGPU 功能,但當然,它的支持不是官方的。
參與 StorageReview
電子通訊 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | Facebook | RSS訂閱