CUDA: как проверить правильность вычислений?

Код CUDA, скомпилированный с более высокой вычислительной мощностью, будет отлично работать в течение долгого времени на устройстве с более низкой вычислительной мощностью, прежде чем однажды тихо выйдет из строя в каком-то ядре. Я потратил полдня на поиск неуловимой ошибки, только чтобы понять, что правило сборки имело sm_21 , в то время как устройство (Tesla C2050) было 2.0 .

Есть ли какой-нибудь код CUDA API Я могу добавить, что может самопроверяться, работает ли он на устройстве с совместимыми вычислительными возможностями? Мне нужно компилировать и работать с устройствами с множеством вычислительных возможностей. Могу ли я предпринять какие-либо другие действия, чтобы избежать подобных ошибок?

15
задан Ashwin Nanjappa 8 October 2013 в 07:44
поделиться