Я новичок в программировании CUDA. В последовательном коде у меня часто есть функция, которую я использую для изящного выхода из кода после возникновения ошибки. Э.Г.
void exit_with_error(char * message){
fprintf(stderr, "%s", message);
fflush(stderr);
exit(1);
}
ВОПРОС: Есть ли чистый способ сделать это в коде устройства с помощью CUDA 8.0?
Я ищу что-то похожее на то, что вы можете сделать в MPI . Таким образом, если в одном потоке на устройстве с графическим процессором возникает «ошибка» (например, условие, которое никогда не должно быть истинным), оно
печатает ошибку
отправляет сигнал всем другим потокам о выходе (возможно, сбрасывая их буферы stdout / stderr).
Программа завершается.