昨天安装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. maven的核心概念——聚合

    第十六章聚合 16.1 为什么要使用聚合 将多个工程拆分为模块后,需要手动逐个安装到仓库后依赖才能够生效.修改源码后也需要逐个手动进行clean操作.而使用了聚合之后就可以批量进行Maven工程的安装 ...

  2. comTest.json文件中内容,被NewsList.vue文件引入

    本文目标:就是把扩散名为.json文件中数据,传递给NewsList.vue文件.主要通过导出,并传递给data(){}变紧 新建文件名为:commTest.json { "schoolNa ...

  3. Tutorial: Publishing additional services for printing

    Complexity:IntermediateData Requirement:Use your own data There may be occasions when you need to pu ...

  4. mnist识别优化——使用新的fashion mnist进行模型训练

    今天通过论坛偶然知道,在mnist之后,还出现了一个旨在代替经典mnist数据集的Fashion MNIST,同mnist一样,它也是被用作深度学习程序的“hello world”,而且也是由70k张 ...

  5. gulp常用插件之gulp-rev-outdated使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev-outdated这是一款旧的静态资产修订文件过滤器. 我们可以使用gulp rev来缓存一些资产.源文件的每次修改都会导致新的修 ...

  6. github的版本控制master和branch develop

    一.git版本控制原理 master(主分支), develop(分支),虽然是主分支和分支,却是平级关系,develop可以理解为开发库,master为生产库. 本地版本:master, devel ...

  7. LIS 51Nod 1134 最长递增子序列

    给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10.   Input 第1行:1个 ...

  8. Normalizing flows

    probability VS likelihood: https://zhuanlan.zhihu.com/p/25768606 http://sdsy888.me/%E9%9A%8F%E7%AC%9 ...

  9. Hibernate + mysql 配置

    1.生成po的配置 2.连接 MySQL 数据库的配合

  10. 题解 AT4278 【[ABC115A] Christmas Eve Eve Eve】

    题目传送门. 分析 根据题目,我们可以发现要求如下: \(d\)的值 输出 \(d=25\) Christmas \(d=24\) Christmas Eve \(d=23\) Christmas E ...