Caffe:训练后的GPU CUDA错误:检查失败:错误== cudaSuccess(30 vs. 0)未知错误

时间:2016-10-27 08:28:53

标签: cuda nvidia caffe

有时在训练之后或当我通过按 CTRL + C 手动停止训练时,我得到了这个cuda错误:

检查失败:错误== cudaSuccess(30对0)未知错误

但这最近才开始发生。有没有人以前经历过这个或者你知道如何解决这个问题或者问题是什么?

完整日志:

I1027 09:29:37.779079 11959 caffe.cpp:217] Using GPUs 0
I1027 09:29:37.780676 11959 caffe.cpp:222] GPU 0: �|���
F1027 09:29:37.780697 11959 common.cpp:151] Check failed: error == cudaSuccess (30 vs. 0)  unknown error
*** Check failure stack trace: ***
    @     0x7f6cc4f465cd  google::LogMessage::Fail()
    @     0x7f6cc4f48433  google::LogMessage::SendToLog()
    @     0x7f6cc4f4615b  google::LogMessage::Flush()
    @     0x7f6cc4f48e1e  google::LogMessageFatal::~LogMessageFatal()
    @     0x7f6cc5558032  caffe::Caffe::SetDevice()
    @           0x40b3f8  train()
    @           0x407590  main
    @     0x7f6cc3eb7830  __libc_start_main
    @           0x407db9  _start
    @              (nil)  (unknown)

6 个答案:

答案 0 :(得分:1)

使用nvidia-smi命令查看GPU上正在运行的程序& CPU。如果您在按下caffe后按下ctrl+c的任何不需要的实例仍在运行,则应该删除具有进程ID的那些实例。如下所示:

+------------------------------------------------------+                       
| NVIDIA-SMI 352.63     Driver Version: 352.63         |                       
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 980 Ti  Off  | 0000:01:00.0      On |                  N/A |
| 58%   83C    P2   188W / 260W |   1164MiB /  6142MiB |     96%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 980 Ti  Off  | 0000:02:00.0     Off |                  N/A |
| 53%   73C    P2   127W / 260W |    585MiB /  6143MiB |     35%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0      1101    C   ...-xx/build/tools/caffe   788MiB |
|    0      1570    G   /usr/bin/X                                     235MiB |
|    0      1594    C   /usr/bin/python                                102MiB |
|    0      2387    G   compiz                                          10MiB |
|    0      3984    G   /usr/local/MATLAB/R2016a/bin/glnxa64/MATLAB      2MiB |
|    1     25056    C   /usr/bin/caffe                                 563MiB |
+-----------------------------------------------------------------------------+

你应该用这个命令sudo kill -9 1101

杀死

答案 1 :(得分:0)

尝试make all - > make test - > make runtest。它应该工作

答案 2 :(得分:0)

运行Make all后,注意到有关libcudnn libs的一些错误,我在/ usr / lib / x86_64-linux-gnu和/usr/local/cuda-8.0/lib64中重复了这些错误。在只留下/ usr / lib / x86_64-linux-gnu中的那些并重新启动笔记本电脑后,一切正常。

答案 3 :(得分:0)

如果您的程序无法创建或打开/ dev / nvidia-uvm设备文件,则可能会显示CUDA运行时错误(30)。这通常通过安装包nvidia-modprobe来解决:

sudo apt-get install nvidia-modprobe

答案 4 :(得分:0)

尝试为当前内核重新安装/构建nvidia驱动程序

sudo apt-get install --reinstall nvidia-375

答案 5 :(得分:0)

sudo apt-get install nvidia-modprobe

如果您的程序无法创建或打开/dev/nvidia-uvm设备文件,则可能会显示CUDA运行时错误(30)。这通常通过安装包nvidia-modprobe来解决:

Source