昨天安装caffe,因为用的是cuda10.2,遇到各种问题,最终也没有安装成功。使用cmake配置成功、生成成功、编译的时候报错。

 /usr/local/cuda/include/cuda_runtime_api.h::: error: ‘cudaGraphExec_t’ was not declared in this scope
extern __host__ cudaError_t CUDARTAPI cudaGraphExecDestroy(cudaGraphExec_t graphExec);
^~~~~~~~~~~~~~~
/usr/local/cuda/include/cuda_runtime_api.h::: note: suggested alternative: ‘cudaGraphExecUpdate’
extern __host__ cudaError_t CUDARTAPI cudaGraphExecDestroy(cudaGraphExec_t graphExec);
^~~~~~~~~~~~~~~
cudaGraphExecUpdate
/usr/local/cuda/include/cuda_runtime_api.h::: error: ‘cudaGraph_t’ was not declared in this scope
extern __host__ cudaError_t CUDARTAPI cudaGraphDestroy(cudaGraph_t graph);
^~~~~~~~~~~
/usr/local/cuda/include/cuda_runtime_api.h::: note: suggested alternative: ‘cudaError_t’
extern __host__ cudaError_t CUDARTAPI cudaGraphDestroy(cudaGraph_t graph);
^~~~~~~~~~~
cudaError_t
src/caffe/CMakeFiles/caffe.dir/build.make:: recipe for target 'src/caffe/CMakeFiles/caffe.dir/blob.cpp.o' failed
make[]: *** [src/caffe/CMakeFiles/caffe.dir/blob.cpp.o] Error
CMakeFiles/Makefile2:: recipe for target 'src/caffe/CMakeFiles/caffe.dir/all' failed
make[]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error
Makefile:: recipe for target 'all' failed
make: *** [all] Error

在网上还没有找到解决办法,原因可能是caffe很久没有更新,有很多与cuda不兼容的地方。

使用一条命令安装依赖库,安装caffe时会自动下载cuda9.1,如果cmake配置了cuda9.1也会遇到编译问题。因为cuda和显卡驱动、cuda和gcc版本都有关系。

sudo apt build-dep caffe-cpu        # dependencies for CPU-only version
sudo apt build-dep caffe-cuda # dependencies for CUDA version

要安装cuda版本只需要执行:

sudo apt build-dep caffe-cuda       # dependencies for CUDA version

cuda版本与显卡驱动版本关系:

来源:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

cuda版本与gcc版本关系:

来源:https://docs.nvidia.com/cuda/archive/8.0/cuda-installation-guide-linux/index.html

从这个表可以看出cuda8.0不支持Ubuntu18.04.

来源:https://docs.nvidia.com/cuda/archive/9.0/cuda-installation-guide-linux/index.html

从这个表可以看出cuda9.0还是不支持ubuntu18.04.

既然官方没有说明cuda9.0支持ubuntu18.04那么成功在ubuntu18.04上面安装cuda9.0原因是什么呢,是基于这个理论:

cuda只能支持17.04,16.04的ubuntu 下载安装,但,实际上,有点类似于word一样(高版本word能打开低版本的word文件 .)18.04版本的系统,能够安装16.04版本对应的CUDA。

来源:https://docs.nvidia.com/cuda/archive/9.1/cuda-installation-guide-linux/index.html

从这个表可以看出cuda9.0还是不支持ubuntu18.04.

来源:https://docs.nvidia.com/cuda/archive/10.0/cuda-installation-guide-linux/index.html

从这个表可以看出cuda10.0依赖gcc版本7.3.0.

来源:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

从这里可以看出,Ubuntu18.04下,CUDA10.2依赖的GCC版本是7.3.0.

ubuntu18+caffe+cuda的更多相关文章

  1. ubuntu16.04 安装 caffe cuda 相关流程

    不多说了,经历了很多莫名其妙的错误最后终于安装好了,直接放安装脚本: #!/bin/bash #安装时要注意有些库可能安装失败以及安装caffe有和protobuf相关错误时可能需要重新对protob ...

  2. Ubuntu14.04 64bit下Caffe + CUDA 6.5安装详细步骤

    不多说,直接上干货! 笔者花了很长时间才装完,主要是cuda安装和opencv安装比较费劲,cuda找不到32位的安装包只好重装64位的ubuntu系统,opencv 也是尝试了很久才解决,这里建议用 ...

  3. 【Caffe学习笔记】一 、环境安装 Caffe + cuda + windows10 + VS2015 安装笔记, win7也适用

    1. 下载cuda8.0  cudnn5   anaconda https://developer.nvidia.com/cuda-80-ga2-download-archive https://de ...

  4. ubuntu18 + caffe+cpu+anaconda3

    本记录只暂时只记录一些错误. 编译错误,opencv3.2与anaconda3下的libtiff不兼容,冲突. 问题查找(查找所有的TIFF库与编译错误提示匹配/usr/lib/x86_64-linu ...

  5. Ubuntu16.04 + caffe + cuda 环境搭建

    1. sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-de ...

  6. Caffe学习笔记2--Ubuntu 14.04 64bit 安装Caffe(GPU版本)

    0.检查配置 1. VMWare上运行的Ubuntu,并不能支持真实的GPU(除了特定版本的VMWare和特定的GPU,要求条件严格,所以我在VMWare上搭建好了Caffe环境后,又重新在Windo ...

  7. Ubuntu 16.04 使用docker资料汇总与应用docker安装caffe并使用Classifier(ros kinetic+usb_cam+caffe)

    Docker是开源的应用容器引擎.若想简单了解一下,可以参考百度百科词条Docker.好像只支持64位系统. Docker官网:https://www.docker.com/ Docker - 从入门 ...

  8. Ubuntu14.04+caffe+cuda7.5 环境搭建以及MNIST数据集的训练与测试

    Ubuntu14.04+caffe+cuda 环境搭建以及MNIST数据集的训练与测试 一.ubuntu14.04的安装: ubuntu的安装是一件十分简单的事情,这里给出一个参考教程: http:/ ...

  9. caffe环境配置2

    参考链接: http://blog.csdn.net/enjoyyl/article/details/47397505 http://blog.csdn.net/baobei0112/article/ ...

随机推荐

  1. ajax请求携带cookie和自定义请求头header

    参考链接:https://blog.csdn.net/menghuanzhiming/article/details/102736312

  2. matlab初探寻

    matlab <iframe src="//player.bilibili.com/player.html?aid=74994893&cid=128293306&pag ...

  3. C#面向对象详解

    //封装就是将数据或函数等集合在一个个的单元中,我们称之为类,被封装的对象通常被称为抽象数据类型, //封装的意义在于保护或防止代码被我们无意中破坏, //封装既可以封装成员变量,又可以封装成员方法, ...

  4. npm run build 打包后空白页解决问题两种情况

    问题一:assetsPublicPath配置错误 解决办法:打开config/index.js文件 build:{        // assetsPublicPath: '/'        ass ...

  5. centos python虚拟环境安装

    pip install virtualenv pip install virtualenvwrapper vim ~/.barshrc export VIRTUALENVWRAPPER_PYTHON= ...

  6. JS表单验证源码(带错误提示及密码等级)

    先晒图 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  7. js判断苹果安卓操作系统,js更换css

    //判断是哪个操作系统 if(plus.os.name=="Android"){ var lsyshowline=document.getElementById("lsy ...

  8. Tomcat 后台war部署上传shell

    tomcat的后台登录的两个目录为: /admin /manager/html 如果版本过高,只有采用弱密码的方式进后台: 有些tomcat采用默认的用户名和密码(用户名:admin,密码:空): 或 ...

  9. Python中BaseException和Exception的区别

    BaseException 是 Exception 的父类,作为子类的Exception无法截获父类BaseException类型的错误 BaseException: 包含所有built-in exc ...

  10. hdu 1007 Quoit Design(平面最近点对)

    题意:求平面最近点对之间的距离 解:首先可以想到枚举的方法,枚举i,枚举j算点i和点j之间的距离,时间复杂度O(n2). 如果采用分治的思想,如果我们知道左半边点对答案d1,和右半边点的答案d2,如何 ...