The function “cudaThreadExit” does NOT seem to work for bad kernels.
Kindly look @ Sadhana’s post (code) here: http://forums.nvidia.com/index.php?showtopic=87803
In 2.1 , cudaThreadExit() just does NOT work.
In 2.2, cudaThreadExit() works fine only if you “cudaFree” your earlier cudaMalloc()s after a launch failure (launch timeout due to while(1)).
Otherwise, subsequent cudaMalloc() fails and the context is un-usable.
Can some1 explain what does this function actually do? and when should we use it?
Is it a cool way of releasing all your “cudaMalloc” in one-shot?
Does it really help in error-recovery (bad address, Launch timeout)?
Appreciate any answer,