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