* Memory on the Nvidia device is not necessarily cleared or reset between kernel calls.
* Program defensively [checking return and error codes] and be careful with cudaMemcpy(dest, src, nbytes, cudaMemcpyDeviceToHost).
* cudaMalloc( void** , nbytes) only allocates memory, and the allocations may be repeatable and consistent with respect to memory addressing and memory contents between kernel calls.
* The device is not running an operating system with all the associated kernel memory page movement so memory tends to retain state.
Source: http://www.ncsa.illinois.edu/UserInfo/T ... -CUDA.html
I would really like to be able to know more of what is going on on my GPU (which incidentally is also running a display).
The only way I have seen suggested to get a known state without rebooting is to turn off X, which is not really practical.