//Code taken from https://codeyarns.com/2011/03/02/how-to-do-error-checking-in-cuda/
#include <iostream>
-#define CudaSafeCall( err ) __cudaSafeCall( err, __FILE__, __LINE__ )
+#define CudaSafeCall( err ) __cudaSafeCall( err, #err, __FILE__, __LINE__ )
#define CudaCheckError() __cudaCheckError( __FILE__, __LINE__ )
-static inline void __cudaSafeCall( cudaError err, const char *file, const int line )
+static inline void __cudaSafeCall( cudaError err, const char *text, const char *file, const int line )
{
if ( cudaSuccess != err )
{
- fprintf( stderr, "cudaSafeCall() failed at %s:%i : %s\n",
- file, line, cudaGetErrorString( err ) );
+ fprintf( stderr, "%s:%i: %s: %s\n",
+ file, line, text, cudaGetErrorString( err ) );
exit( -1 );
}