cuda程序换设备计算报错

我在一台电脑上编写了Cuda程序,realse生成了exe文件进行了试算没问题,编程电脑的cuda版本和显卡信息如下:

img

当我把exe文件拷贝到工作站后,进行计算,一开始运行就会报错,工作站cuda版本和显卡信息如下:

img


报错为:*** Exception(exc): radix_sort: failed on 1st step: an illegal memory access was encountered

img


程序中有使用内置radix_sort算法的模块,造成这种换设备就报错的原因,会是环境配置的问题么?

第一种可能你的程序涉及到并行计算,但你只有一张卡,因此只要将程序涉及到并行计算的部分改成单卡即可
找找有没有 torch.nn.DataParallel()
第二种一部分数据或者模型在cpu上,另外一部分在gpu上。
PS:第二种和第一种可以强行 os.environ["CUDA_VISIBLE_DEVICES"]为指定ID
第三种CUDNN版本不对?感觉这种可能比较小
具体地可以考虑看一下下面的这篇文章:

如果在工作站编译呢.