Does the executable code of CUDA kernel function upload to the GPU at once when starting program, or does the code upload each time a kernel function is called? Or in which cases may be one way or the other?
This can greatly influence the choice of programming methods:
- A lot of calls to kernel-function from CPU-host
- The use of dynamic parallelism and a lot of calls to kernel-functions from GPU-device