Cuda在4个GPU中只有一个存在非法内存访问错误

时间:2017-11-20 06:00:02

标签: python cuda caffe

我的系统配有4个NVIDIA GTX1080 GPU(比如说0,1,2,3)。所有GPU都具有完全相似的配置。 我在这个系统上使用CAFFE。 在GPU0上训练IMAGENET时,我收到此错误:

  

F1120 12:20:57.862701 13773 math_functions.cu:79]检查失败:错误   == cudaSuccess(77 vs. 0)遇到非法内存访问    *检查故障堆栈跟踪:*

我尝试设置CUDA_VISIBLE_DEVICES=0(正如Stack Overflow上的其他答案所示),但我仍面临同样的问题。 使用此设置make runtest也会因此错误而失败:

  

[FAILED] 1次测试,如下所示:[FAILED] NetTest / 2.TestFromTo,   其中TypeParam = caffe :: GPUDevice

     

1 FAILED TEST Makefile:532:目标' runtest'失败

但是,当我设置CUDA_VISIBLE_DEVICES=1,2,3时,make runtest也会通过IMAGENET数据集的培训。 我尝试重置GPU但是徒劳无功。 我之前能够使用一些python脚本在这个GPU0上进行训练,但现在也因上面报告的相同错误而失败。

有人能指出我可能出现的问题吗?

我正在使用: CUDA8.0,cuDNN 7.0,NCCL(适用于多GPU)。

1 个答案:

答案 0 :(得分:-1)

使用nvidia-smi检查内存和进程使用情况。您可能会发现系统上的其他进程也使用GPU 0,占用内存(主要是GUI应用程序)。