more expressive CUDA error macro. instead of 'cuda error = 2', now we get 'cuda error = 2 (out of memory)'