【问题标题】:Blas GEMM launch failed: what does this error mean?Blas GEMM 启动失败:这个错误是什么意思?
【发布时间】:2018-02-12 21:59:23
【问题描述】:

我在执行昨天运行良好的简单 Tensorflow 模型时遇到问题。我怀疑,问题完全与给​​定的错误有关

      Blas GEMM launch failed

在控制台中显示,

  tensorflow/core/common_runtime/gpu/gpu_util.cc:343] CPU->GPU Memcpy failed

我的印象是,这可能与我基于此的 CUDA 安装有关

TensorFlow: Blas GEMM launch failed

但是,我看不到如何运行 simpleCUBLAS 示例。我对 CUDA 完全陌生。

我有 4 个 1080ti GPU(Ubuntu 16.04,TensorFlow 1.3.0),我没有发现任何占用 GPU 内存的僵尸进程。任何帮助是极大的赞赏。

【问题讨论】:

  • 这可能意味着您的内存不足。尝试减少批量大小或缩小模型
  • 雅罗斯拉夫。非常感谢。我不认为代码可能是问题。在过去的几天里,这个模型运行了很多次,没有出现任何问题。此外,我将批量大小减少到 1 和图像大小(它是一个 CNN)。我认为内存分配肯定存在问题,但不是专门由于这个模型造成的。我也有“cuDNN 无法创建句柄错误”(再次提示内存问题。被卡在这个问题上 9 小时......
  • cuDNN cannot create handle 也可能是 GPU 内存不足引起的
  • 没错。我同意你的观点,但它没有解释为什么一个参数少于 100k 的简单模型在一天内有效训练,突然抛出一个内存错误。我同意这个问题与记忆有关——我只是不确定模型是否是问题所在。我以为我有一些僵尸进程,但我没有。感谢您的回复

标签: tensorflow cublas


【解决方案1】:

所以我在疯了几天之后找到了答案。我第一次运行这个

我这样做了:

 cd /usr/local/cuda/samples/7_CUDALibraries/simpleCUBLAS
 make
 ./simpleCUBLAS

检查我的 CUBLAS 安装。它返回 CUBLAS INITIALIZATION FAILED!!!

所以接下来我做了这个(根据建议)

 sudo rm -f ~/.nv

它奏效了。希望这可以拯救别人。当你看到它时似乎很容易。

另外值得一提的是这个问题偶尔也会抛出这个错误:

    tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
    tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
    tensorflow/core/kernels/conv_ops.cc:605] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms) 

这很神秘 - 每个人都认为这是内存问题,果然,在我的 TF 模型启动期间,我的 GPU 被 python 占用了。但正是 CUBLAS 错误导致我找到了解决方案。

【讨论】:

    猜你喜欢
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 2023-03-02
    相关资源
    最近更新 更多