Compute libraries, like CUDA and OpenCL, are responsible for handling the compute pipeline over the GPU, offering acceleration for intensive mathematical routines like matrix multiplication. Compute has even been introduced in graphics libraries as an independent pipeline, including OpenGL and Vulkan, in the form of compute shaders. But, do we really need …
Is it possible to execute a kernel completely in usermode? Well, the short answer seems to be no, as a few issues become immediately apparent. How will we execute privileged instructions? How will memory be addressed?
With a few hacks and tricks, its becomes apparent that there is some possibility. Note that this article assumes the host machine is running …