Ubuntu 16.04编译GPU(CUDA)版本的Caffe

  • 配置编译环境

参照Ubuntu 14.04,14.10,16.04编译CPU版本Caffe确保可以正常编译通过CPU版本的Caffe.

  • 安装Nvidia CUDA驱动

参照Ubuntu 16.04安装Nvidia CUDA驱动安装Nvidia CUDA驱动.

  • 安装Nvidia CUDNN库

参照Ubuntu 16.04开启dlib对于AVX或者CUDA的支持里面设置Nvidia CUDNN部分,配置好Nvidia CUDNN库.

  • 编译代码
$ cd caffe

$ cmake . -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES"

$ make
  • 编译出错的处理

如果编译时候出现如下错误信息

/usr/include/string.h: In function ‘void* __mempcpy_inline(void*, const void*, size_t)’:
/usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope
   return (char *) memcpy (__dest, __src, __n) + __n;
                                          ^
CMake Error at cuda_compile_generated_softmax_layer.cu.o.cmake:266 (message):
  Error generating file
  /home/longsky/Source/caffe/src/caffe/CMakeFiles/cuda_compile.dir/layers/./cuda_compile_generated_softmax_layer.cu.o


src/caffe/CMakeFiles/caffe.dir/build.make:469: recipe for target 'src/caffe/CMakeFiles/cuda_compile.dir/layers/cuda_compile_generated_softmax_layer.cu.o' failed
make[2]: *** [src/caffe/CMakeFiles/cuda_compile.dir/layers/cuda_compile_generated_softmax_layer.cu.o] Error 1
CMakeFiles/Makefile2:272: recipe for target 'src/caffe/CMakeFiles/caffe.dir/all' failed
make[1]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2

则需要在执行cmake的时候增加

-DCUDA_NVCC_FLAGS="-D_FORCE_INLINES"

的定义。

  • 编译选项

某些库在使用Nvidia CUDNN的时候会崩溃,此时我们可以在编译的时候,排除Nvidia CUDNN即可。

例子如下:

$ cmake . -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -DUSE_CUDNN=OFF

参考链接


ubuntu 16.04中CAFFE配置步骤

发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注