Это правда, что вы не должны делать это, но если они включили это, вероятно, имеет некоторое использование.Код выдает ошибку, потому что вы компилируете для архитектуры 1.0 и 2.0.Для его компиляции вы можете удалить
-gencode=arch=compute_10,code=\"sm_10,compute_10\"
из командной строки, если вы собираетесь запускать код только на устройствах fermi или вы должны предоставить альтернативный код в исходном коде для старых устройств.Вы можете сделать это с помощью макроса препроцессора NVCC:
__CUDA_ARCH__
следующим образом:
#if (__CUDA_ARCH__ < 200)
/* code for 1.x arch */
#else
/* code for 2.x arch */
#endif
Кажется, вы используете Visual Studio, поэтому в свойствах проекта вы можете перейти к CUDAраздел и укажите там архитектуры, для которых вы не хотите строить.