Engels Antonio: KGPU – Augmenting Linux With GPUs

Psylocke designed a GPU computer with almost 200 effective cores for her ECE 12 (Computer-Aided Design) subject a few days ago. Her teacher thinks it’s impossible to build such a machine.

For the record, we have an actual unit at home.

ASUS, Dell, and Microway (among others) have been offering similar products abroad for a while now.

Aside from the usual GPGPU applications (Psylocke used TeraChem), we also explored KGPU:

“KGPU is a GPU computing framework for the Linux kernel. It allows Linux kernel to call CUDA programs running on GPUs directly. The motivation is to augment operating systems with GPUs so that not only userspace applications but also the operating system itself can benefit from GPU acceleration. It can also free the CPU from some computation intensive work by enabling the GPU as an extra computing device.

Modern GPUs can be used for more than just graphics processing; they can run general-purpose programs as well. While not well-suited to all types of programs, they excel on code that can make use of their high degree of parallelism. Most uses of so-called “General Purpose GPU” computation have been outside the realm of systems software. However, recent work on software routers and encrypted network connections has given examples of how GPGPUs can be applied to tasks more traditionally within the realm of operating systems. These uses are only scratching the surface. Other examples of system-level tasks that can take advantage of GPUs include general cryptography, pattern matching, program analysis, and acceleration of basic commonly-used algorithms.”

Really cool stuff! Visit github.com/wbsun/kgpu for more information and a white paper on KGPU.