用GPU加速Linux Kernel?
发布网友
发布时间:2022-04-24 09:34
我来回答
共1个回答
热心网友
时间:2022-04-12 13:03
由NVIDIA部分资助,Utah大学的研究人员正在进行一项如何利用GPU来加速linux
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.