         gethostname(nm, 1024);                                                                                     \
         printf("hostname: %s\n", nm);                                                                              \
         printf("Error in %s at line %i of file %s: %s\n", #func__, __LINE__, __FILE__, cudaGetErrorString(error)); \
-        raise(SIGTERM);                                                                                            \
-        exit(-100);                                                                                                \
+        stack_backtrace();                                                                                         \
     }                                                                                                              \
 }
 #else

// This file must be compiled with nvcc
#include <unistd.h>
#include <signal.h>
#include <stdio.h>

        gethostname(nm, 1024);                                                                                     \
        printf("hostname: %s\n", nm);                                                                              \
        printf("Error in %s at line %i of file %s: %s\n", #func__, __LINE__, __FILE__, cudaGetErrorString(error)); \
        stack_backtrace();                                                                                         \
    }                                                                                                              \
}
#endif
