用GPU加速Linux Kernel?

由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.

信息来源:here

# 本文采用CC协议进行授权,转载本文请注明本文链接。

更多关于Linux Kernel的详细信息,或者下载地址请点这里

作者: 小卒过河   发布时间: 2011-05-08