早在2020年,微軟宣布DXGKRNL驅(qū)動(dòng)為內(nèi)核驅(qū)動(dòng)組件,用于支持Windows Subsystem for Linux(WSL2)中的GPU加速用例。最初的DXGKRNL驅(qū)動(dòng)很快就被上游內(nèi)核開(kāi)發(fā)者提出了各種問(wèn)題,而現(xiàn)在,在過(guò)去的一年里,微軟一直在重新制作這個(gè)內(nèi)核驅(qū)動(dòng),并在周三發(fā)布了新版本。
DXGKRNL是他們的"DirectX"內(nèi)核驅(qū)動(dòng)組件,用于Windows Subsystem for Linux(WSL2),支持Hyper-V環(huán)境下的圖形加速和GPU計(jì)算。DXGKRNL也將用于他們即將推出的Android Windows子系統(tǒng)(WSA)。DXGKRNL作為Hyper-V虛擬計(jì)算設(shè)備的驅(qū)動(dòng)程序,主要是用于GPU,但也可以擴(kuò)展到其他AI/ML加速器和Windows主機(jī)的類似設(shè)備。OpenGL、Vulkan、OpenCL、OpenVINO、oneAPI和CUDA等API旨在與支持的用戶空間庫(kù)/組件一起使用時(shí),可以在DXGKRNL上運(yùn)行。
新版本的DXGKRNL解決了上游代碼審查人員在前一輪補(bǔ)丁中提出的問(wèn)題。微軟還更好地完成了其vGPU/計(jì)算硬件虛擬化支持代碼。這些補(bǔ)丁也是"從頭開(kāi)始重建",比之前的補(bǔ)丁組織得更有效。
微軟最初也因?yàn)镈XGKRNL而受到批評(píng),因?yàn)樗揽块]源的CUDA和DirectX用戶空間組件來(lái)運(yùn)行。對(duì)此,他們現(xiàn)在正在慶祝英特爾提供的開(kāi)源用戶空間API支持,現(xiàn)在OpenCL/OpenVINO/oneAPI支持在這個(gè)內(nèi)核驅(qū)動(dòng)上用于英特爾圖形硬件。
補(bǔ)丁系列的介紹信指出:"在英特爾計(jì)算運(yùn)行時(shí)間項(xiàng)目和libdxg之間,我們現(xiàn)在在WSL內(nèi)部有一個(gè)完全開(kāi)源的虛擬化計(jì)算棧的實(shí)現(xiàn)。我們將繼續(xù)支持針對(duì)我們的計(jì)算抽象的開(kāi)源用戶空間API,以及閉源的API(CUDA、DX12),讓API所有者和合作伙伴決定什么對(duì)他們最有意義。"
更新的微軟DXGKRNL補(bǔ)丁系列可以在內(nèi)核郵件列表中找到。到目前為止,Greg Kroah-Hartman已經(jīng)對(duì)新的補(bǔ)丁進(jìn)行了評(píng)論,有一些技術(shù)問(wèn)題需要解決,同時(shí)我們等待著看這個(gè)微軟內(nèi)核驅(qū)動(dòng)程序是否在2022年有機(jī)會(huì)進(jìn)入主線內(nèi)核,或者只是能夠讓微軟Windows主機(jī)上的Windows Subsystem for Linux / Windows Subsystem for Android受益的內(nèi)容。
不計(jì)算用戶空間的工作,DXKGRNL內(nèi)核驅(qū)動(dòng)要增加了16800行的新代碼。
(舉報(bào))