Kernel的研究。此研究的目的是不僅僅讓所有用戶正常使用的應用程序(也就是用戶空間)利用現代圖形處理器(GPU)的強大功能,也讓linux
內核的部分(也就是內核空間)能直接運行在GPU上。
在其項目主頁上寫到:KGPU(即kernel和GPU的合體)的想法是把GPU當成操作系統的協同處理器,允許在linux內核中進行數據的並
行計算。這樣允許我們使用SIMD(或者CUDA中的SIMT)風格的代碼來加速linux內核功能,讓之前認為太過於密集的計算功能進入內核。簡單來
說,KGPU為內核增加了矢量運算功能,另外,它是linux內核真正地開始並行化,不僅僅是處理多個並發請求,而且將大的數據計算請求分割到開來,
將這些計算平鋪到GPU上大量的核心中。
聽起來是壹個很新奇的概念,這目前僅是個研究項目,這個KGPU項目離可見的發規模應用還有壹些限制因素。最大的問題是,目前linux
內核DRM(Direct
Rendering
Manager)子系統中的開源圖形驅動都無法支持GPGPU。雖然目前有OpenCL
Gallium3D
state
tracker
+Clover的計劃,但是還遠遠沒有準備好。
因為目前研究使用的是Compute
Unified
Device
Architecture,而且使用NVIDIA最新的閉源專有驅動,故只支持Nvidia的硬件架構。所以更好的選擇是擁抱工業標準OpenCL,這樣
都對AMD和NVIDIA的GPUs都有很好的支持
在目前KGPU的研究進程中,研究人員已經用GPU-加速的AES密碼來加密eCryptfs文件系統,展示了GPU可以用來處理加密技術。
這是KGPU的的Google
Code
page主頁。當然還有GitHub。
總結:利用GPU加速linux內核肯定是件很有意義的事情,但是開源的內核圖形驅動壹定要改善和提高,能夠處理OpenCL
和/或GPGPU.