【问题标题】:Caffe: GPU CUDA error after training: Check failed: error == cudaSuccess (30 vs. 0) unknown errorCaffe:训练后的 GPU CUDA 错误:检查失败:错误 == cudaSuccess (30 vs. 0) 未知错误
【发布时间】:2017-12-19 11:47:21
【问题描述】:

有时在训练后或当我按 CTRL + C 手动停止训练时,我会收到以下 cuda 错误:

检查失败:错误 == cudaSuccess (30 vs. 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)

【问题讨论】:

  • 由于程序caffe 仍在运行或持有资源而出现此问题。在这种情况下它可能会被杀死,请参阅下面的答案

标签: cuda nvidia caffe


【解决方案1】:

使用nvidia-smi 命令查看在GPUCPU 上运行的程序。如果您在按下ctrl+c 后看到任何不需要的caffe 实例仍在运行,您应该杀死那些具有进程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

【讨论】:

  • 问题是没有什么是咖啡。我已经试过了!只有这样的东西: /usr/lib/xorg/Xorgcompiz
  • 尝试 (a) 安装 CUDA 8.0 和 (b) 更改 caffe makefile.config.example 并将 "50" 更改为 "61" -gencode arch=compute_50,code=sm_50 \ -gencode arch=compute_50,code=compute_50
  • 我已经有 CUDA 8.0。但我会检查第二个选项!我会告诉你的!
  • 我还没试过,对不起!我真的很忙!我一知道就告诉你!但很难发现,因为错误只是偶尔发生。
  • Tbh 我认为 compute_50 或 60 或 whaever 取决于你正在使用的 GPU
【解决方案2】:

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

【讨论】:

  • 这个问题是由于内存资源没有被释放。构建 caffe 无法解决此问题
【解决方案3】:

运行 Make all 后,发现一些关于 libcudnn 库的错误,我将它们复制到 /usr/lib/x86_64-linux-gnu 和 /usr/local/cuda-8.0/lib64 中。只留下 /usr/lib/x86_64-linux-gnu 中的那些并重新启动笔记本电脑后一切正常。

【讨论】:

    【解决方案4】:

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

    sudo apt-get install nvidia-modprobe

    【讨论】:

      【解决方案5】:

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

      sudo apt-get install --reinstall nvidia-375

      【讨论】:

        【解决方案6】:
        sudo apt-get install nvidia-modprobe
        

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

        (Source)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-04-03
          • 2017-01-27
          • 2017-02-26
          • 2017-11-14
          • 1970-01-01
          • 2016-02-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多