Effects on performance with no initialization ? Like not putting CUT_DEVICE_INIT

Hello, I am relatively new at Cuda, and I have a question.
Are there effects on performance with no initialization ?

I mean, before calling the kernel, I always see CUT_DEVICE_INIT.

Suppose I have only one GPU in the computer, and if I omit that CUT_DEVICE_INIT, will the performance be degraded ?

Also, what does Warmup mean exactly ? It’s included in convolutionSeparable.cu in line 127.


If you omit CUT_DEVICE_INIT, the initialization will occur on the first call to a cuda runtime function.

“warm up” usually refers to initializing the device, allocating memory, etc… before benchmarking timing begins. These are actions that are only performed at the beginning of the programs execution and thus won’t contribute significantly to long running applications.

It’s probably also worth noting to a fellow newcomer this extract from NVIDIA CUDA SDK\common\cutil_readme.txt, if you weren’t already aware of it:

From looking at the code, all CUT_DEVICE_INIT() actually does is check to see that you have a valid CUDA device and let you specify an alternate device by the command argument --device.