Reputation: 45
What does Nvidia CUDA driver do exactly? from the perspective of using CUDA. The driver passes the kernel code, with the execution configuration (#threads, #blocks)... and what else?
I saw some post that the driver should be aware of the number of available SMs. But isn't that unnecessary ? Once the kernel is passed to GPU, the GPU scheduler just needs to spread the work to available SMs...
Upvotes: 4
Views: 8529
Reputation: 72372
The GPU isn't a fully autonomous device, it requires a lot of help from the host driver to do even the simplest things. As I understand it the driver contains at least:
That probably represents the bare minimum that is required to get some userland device code onto a GPU and running via the host side APIs.
Upvotes: 12