我的系统配有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)。
答案 0 :(得分:-1)
使用nvidia-smi
检查内存和进程使用情况。您可能会发现系统上的其他进程也使用GPU 0,占用内存(主要是GUI应用程序)。