Windows下编译CAFFE+CUDA, 运行时提示status == CUDNN_STATUS_SUCCESS错误

运行caffe训练时,提示如下错误:

F0122 14:42:15.990329  3128 cudnn_conv_layer.cpp:53] Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0)  CUDNN_STATUS_ARCH_MISMATCH

*** Check failure stack trace: ***

提示此错误的原因是:项目默认是开启cudnn的,而CUDNN要求GPU CUDA Capability 不小于3.0(查看CUDA capablity的方法:在CUDA的安装目录下有CUDA Samples ,在对应的1_Utilities 文件夹下面有个 deviceQuery 程序,运行之后应该就会得到显卡的相关信息了。也可以访问https://developer.nvidia.com/cuda-gpus, 对于不满足条件的GPU,需要在项目中关闭CUDNN。preprocessor definitions 里面删除USE_CUDNN。


解决办法:重新编译caffe,另外在编译选项中,去掉USE_CUDNN

原来的编译选项为:

    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <AdditionalIncludeDirectories>../../3rdparty/include;../../src;../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>_VARIADIC_MAX=10;WIN32;NDEBUG;_CONSOLE;USE_CUDNN;USE_OPENCV;USE_LEVELDB;USE_LMDB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <PrecompiledHeader />
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>

将红色部分的编译选项删掉,重新编译运行即可。或者直接在项目的属性中,找到C/C++选项卡的预处理器定义中,将USE_CUDNN删除。3个项目都要删。


如果提示的是: invalid device function,则需要修改CUDA C/C++选项下的Device,栏目Code generation添上compute_20,sm_20。另外要注意检查NVIDIA显卡的驱动是否与CUDA的版本匹配,不匹配就尽量更新NVIDIA的显卡驱动 http://www.nvidia.cn/Download/index.aspx?lang=cn

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值