【CUDA开发】 Check failed: error == cudaSuccess (8 vs. 0) invalid device function
2017-06-24 06:17
627 查看
最近在复现R-CNN一系列的实验时,配置代码环境真是花费了不少时间。由于对MATLAB不熟悉,实验采用的都是github上rbg大神的Python版本。在配置Faster
R-CNN时,编译没有问题,一运行 ./tools/demo.py --net zf 就会出现如下错误:
<span style="font-size:14px;">Loaded network ./data/faster_rcnn_models/ZF_faster_rcnn_final.caffemodel
F1008 roi_pooling_layer.cu:91] Check failed: error == cudaSuccess (8 vs. 0) invalid device function
*** Check failure stack trace: *** </span>
但是采用CPU mode运行时可以成功。
最后在https://github.com/rbgirshick/py-faster-rcnn/issues/2
找到了我想要的答案,有兴趣的可以慢慢阅读。
不想看的话,就直接按照我下面的方式修改。
一般情况下都是因为显卡的计算能力不同而导致的,修改 py-faster-rcnn/lib/setup.py 的第135行,将arch改为与你显卡相匹配的数值,(比如我的GTX 760,计算能力是3.0,就将sm_35改成了sm_30)然后删除utils/bbox.c,nms/cpu_nms.c ,nms/gpu_nms.cpp 重新编译即可
我看到有些人说还有其他的问题,那么可以在最开始的makefile.config文件中就开始修改,不过我没有试过,具体步骤如下
<span style="font-size:14px;">As below, there is my solution (thress steps):
1 if you're using the GPU instance on AWS, then please change the architecture setting into:
# CUDA architecture setting: going with all of them.
# For CUDA < 6.0, comment the *_50 lines for compatibility.
CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_50,code=compute_50
Because the GPU in AWS does not support compute_35
2 I changed sm_35 into sm_30 in lib/setup.py file
3 cd lib, remove these files: utils/bbox.c nms/cpu_nms.c nms/gpu_nms.cpp, if they exist.
And then make && cd ../caffe/ && make clean && make -j8 && make pycaffe -j8 </span>
R-CNN时,编译没有问题,一运行 ./tools/demo.py --net zf 就会出现如下错误:
<span style="font-size:14px;">Loaded network ./data/faster_rcnn_models/ZF_faster_rcnn_final.caffemodel
F1008 roi_pooling_layer.cu:91] Check failed: error == cudaSuccess (8 vs. 0) invalid device function
*** Check failure stack trace: *** </span>
但是采用CPU mode运行时可以成功。
最后在https://github.com/rbgirshick/py-faster-rcnn/issues/2
找到了我想要的答案,有兴趣的可以慢慢阅读。
不想看的话,就直接按照我下面的方式修改。
一般情况下都是因为显卡的计算能力不同而导致的,修改 py-faster-rcnn/lib/setup.py 的第135行,将arch改为与你显卡相匹配的数值,(比如我的GTX 760,计算能力是3.0,就将sm_35改成了sm_30)然后删除utils/bbox.c,nms/cpu_nms.c ,nms/gpu_nms.cpp 重新编译即可
我看到有些人说还有其他的问题,那么可以在最开始的makefile.config文件中就开始修改,不过我没有试过,具体步骤如下
<span style="font-size:14px;">As below, there is my solution (thress steps):
1 if you're using the GPU instance on AWS, then please change the architecture setting into:
# CUDA architecture setting: going with all of them.
# For CUDA < 6.0, comment the *_50 lines for compatibility.
CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_50,code=compute_50
Because the GPU in AWS does not support compute_35
2 I changed sm_35 into sm_30 in lib/setup.py file
3 cd lib, remove these files: utils/bbox.c nms/cpu_nms.c nms/gpu_nms.cpp, if they exist.
And then make && cd ../caffe/ && make clean && make -j8 && make pycaffe -j8 </span>
相关文章推荐
- Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- 配置SSD-caffe测试时出现“Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal”解决
- Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- caffe运行错误: im2col.cu:61] Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- caffe:Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal
- 配置SSD-caffe测试时出现“Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal”解决
- Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- CUDA/caffe ERROR:cudaGetDeviceCount returned 30/35,Check failed: error == cudaSuccess (30/35 vs. 0)
- Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- caffe-windows10 安装问题 Check failed: error == cudaSuccess (8 vs.0) invalid device function
- caffe在训练时遇到:Check failed: error == cudaSuccess (2 vs. 0) out of memory
- Cuda kernel failed. Error: invalid device function
- 【caffe】 Check failed: error == cudaSuccess (30 vs. 0) unknown error
- 【caffe跑试验遇到错误:Check failed: error == cudaSuccess (2 vs. 0) out of memory】
- Caffe | Check failed: error == cudaSuccess (2 vs. 0) out of memory
- 【caffe】 Check failed: error == cudaSuccess (30 vs. 0) unknown error