Windows下编译CAFFE+CUDA, 运行时提示status == CUDNN_STATUS_SUCCESS错误
2016-01-22 15:09
549 查看
运行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
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
相关文章推荐
- react-native布局
- 后缀数组 1031: [JSOI2007]字符加密Cipher
- js获取单选button的值
- react-native布局
- 从bodao_yishu.html页面中获取id,传到下一个museum.html页面中。
- 《Effective java》读书记录-第19条-接口只用于定义类型
- SharePoint2016 New Feature (Preview) - Durable Links
- jquery插件开发模板
- 简单的js字符串加密
- jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
- react-native布局篇
- jQuery插件:跨浏览器复制jQuery-zclip
- JS中实现字符串和数组的相互转化
- 使用Structs标签处理带有html标签元素的字符串
- 在JS方法中返回多个值的方法
- 一款基于Bootstrap扁平化的后台框架Ace
- Play FrameWork中scala.html页面如何显示带有html标签元素的字符串信息
- CodeForces 620A Professor GukiZ's Robot
- html 获得file文本完整路径
- JS打开选择本地文件的对话框