Я подозреваю, что у меня ошибка с мелкозернистой памятью в большом ядре CUDA, которое я запускаю.На стороне устройства printf показывает некоторые переменные значения переменных, которые должны быть детерминированными.«Стабильная» версия инструментов разработки CUDA использует режим эмуляции удаленного устройства, а его версия cuda-gdb не работает с шаблонными функциями.Cuda-memcheck работает, но ничего не ловит.
В процессоре я бы использовал valgrind или электрический забор, чтобы ловить ошибки памяти, подобные этой.Какие хитрости существуют для отладки ошибок памяти, если у вас есть только printf?
Например, есть ли способ заполнить все пространство памяти с помощью nans и использовать printfs, чтобы найти, где они впервые появляются в моих вычислениях?