cudaFree while kernel is executing

Hi all,

Is it possible to use cudaFree while any kernels are running on a CUDA device. My experience so far tells me that cudaFree will block until all execution on the device is completed, no matter what stream that kernel launch is in or what data it is accessing. Is this accurate?

Thanks for any help.

cudaFree implies a device synchronization.