KGPU: enabling GPU computing in Linux kernel

May 4th, 2011

KGPU is a GPU computing framework for the Linux kernel. It allows the Linux kernel to directly execute CUDA programs running on GPUs. The motivation is to augment systems with GPUs so that like user-space applications, the operating system itself can benefit from the GPU acceleration. It can also offload computationally intensive work from the CPU by enabling the GPU as an extra computing device.

The current KGPU release includes a demo task with GPU augmentation: a GPU AES cipher based eCryptfs, which is an encrypted file system on Linux. The read /write bandwidths are expected to be accelerated by a factor of 1.7 ~ 2.5 on an NVIDIA GeForce GTX 480 GPU.

The source code can be obtained from, and news and release information can be found at

  • I wonder when it will be implemented to everyday tasks on Linux

  • anonymous

    Congratulations this software looks good.
    I am new with and not very involved in parallel programming.
    My interest comes from the fact that I use an i7+FX880 computer.

    I have several questions about this kind of module, maybe very silly ones, but here are:
    –How any program may benefit from this module if it is not optimized for vectored parallel computation? In other words, is there any way via scheduler or a linker loader to transform the code for better use of GPGPUs and CPU threads?
    –Should the C compiler be modified to parallelize the code both for CPUs and GPGPUS?
    –What should I expect as a simple programmer not trained for parallel computers, can my programs be automatically parallelized?
    –Does exist a programming language where parallelism is more natural?
    I admit that I am very ignorant of the subject, I hope this not encourage the experts to skip this comment.