Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0)
caffe make runtest error(core dumped)Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0)
=================================================================
简单讲就是GPU的加速性能不够,CUDNN只支持CUDA Capability 3.0以上的GPU加速
==================================================================
在实验室台式机上(I7+GeForce GTX TITAN Black With CUDA CAPABILITY 3.5)成功配置caffe并测试数据无误、训练数据也开始以后,也打算笔记本上(I5+GEFORCE GT540M--With CUDA CAPABILITY 2.1)配上caffe.
于是安装了cuda和cudnn加速,make和make test都过了,而make runtest时报错,大概是这样滴错误
<pre name="code" class="plain">[----------] 6 tests from CuDNNConvolutionLayerTest/1, where TypeParam = double [ RUN ] CuDNNConvolutionLayerTest/1.TestSimpleConvolutionGroupCuDNN F1014 08:55:30.083176 23568 cudnn_conv_layer.cpp:30] Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0) CUDNN_STATUS_ARCH_MISMATCH *** Check failure stack trace: *** @ 0x2b082d0a8daa (unknown) @ 0x2b082d0a8ce4 (unknown) @ 0x2b082d0a86e6 (unknown) @ 0x2b082d0ab687 (unknown) @ 0x739689 caffe::CuDNNConvolutionLayer<>::LayerSetUp() @ 0x42c1f0 caffe::Layer<>::SetUp() @ 0x49d776 caffe::CuDNNConvolutionLayerTest_TestSimpleConvolutionGroupCuDNN_Test<>::TestBody() @ 0x68d613 testing::internal::HandleExceptionsInMethodIfSupported<>() @ 0x6840b7 testing::Test::Run() @ 0x68415e testing::TestInfo::Run() @ 0x684265 testing::TestCase::Run() @ 0x6875a8 testing::internal::UnitTestImpl::RunAllTests() @ 0x687837 testing::UnitTest::Run() @ 0x41e9d0 main @ 0x2b0831cf1ec5 (unknown) @ 0x4261c7 (unknown) @ (nil) (unknown) make: *** [runtest] Aborted (core dumped) caffe::NetTest_TestReshape_Test<>::TestBody() @ 0x68d613 testing::internal::HandleExceptionsInMethodIfSupported<>() @ 0x6840b7 testing::Test::Run() @ 0x68415e testing::TestInfo::Run() @ 0x684265 testing::TestCase::Run() @ 0x6875a8 testing::internal::UnitTestImpl::RunAllTests() @ 0x687837 testing::UnitTest::Run() @ 0x41e9d0 main @ 0x2b2a9f778ec5 (unknown) @ 0x4261c7 (unknown) @ (nil) (unknown) make: *** [runtest] Aborted (core dumped)
在内网找了半天无果,终于在墙外找到了解决办法,不,是问题所在。 因为笔记本上的GT540M的CUDA Capability是2.1,而官方的cudnn加速是不支持3.0以下的版本的,因此只能在Makefile.config中注释掉USE_CUDNN这行,重新执行以下
make clean make all -j4 make test -j4 make runtest -j4
最后除了make runtest中2 DISABLED TESTS之外,没有其他问题。make runtest中出现几个测试例子不过不影响使用。