我是CUDA编程的新手。在串行代码中,我经常使用一个函数,用于在发生错误后正常退出代码。例如。
void exit_with_error(char * message){
fprintf(stderr, "%s", message);
fflush(stderr);
exit(1);
}
问题:使用CUDA 8.0在设备代码中有一种干净的方法吗?
我正在寻找类似于你在MPI可以做的事情。因此,如果GPU设备上的一个线程遇到“错误”(例如,一个永远不应该是真的条件),那么
这是不可能的。 CUDA设备代码不能导致主机线程或进程终止。
必须通过主机代码完成主机线程的终止。