Previous | Next --- Slide 29 of 54
Back to Lecture Thumbnails
andrewwuan

So, to summarize, only the code parallelized by CUDA threads and blocks will run on GPU, and all other setup code will run on CPU?

ChandlerBing

@andrewwuan Yes I think that's right. Only the computation intensive code would be shifted to the GPU from the CPU.

BigFish

Yes, I think only the part defined in kernel functions will be executed on GPU.

kayvonf

Correct. CUDA device code runs on the CUDA device. One possible CUDA device is a NVIDIA GPU.

It's possible that in the future other CUDA devices that execute CUDA programs will exist. (But CUDA is not an open standard so that presently is not the case.)

For example, NVIDIA used to provide a "CUDA Device" that was implemented as software running on the CPU. (At the time it was useful for debugging.) This "virtual CUDA device" is no longer available as debugging support for CUDA code on GPUs has improved over the years as CUDA has matured.