昨天安装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. 安装PHP到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 软件版本:PHP-7.2 硬件要求:无 安装过程 1.配置YUM源 [root@localhost ~]# rpm -i ...

  2. 在 Nest.js 中使用 MongoDB 与 TypeORM

    在 Nest.js 中使用 MongoDB 与 TypeORM 首先要在 database 文件夹里建立DatabaseModule模块文件, // database/database.module. ...

  3. 自定义配置JNOJ

    OJ 全名 online judge 在线判题系统,对于从事编程竞赛的人来说一点都不陌生,今天我们讨论的是怎么样自定义搭建 推荐的开源的OJ有hustOJ,JNOJ 因为hustOJ 是一键安装脚本, ...

  4. Luogu1738 | 洛谷的文件夹 (Trie+STL)

    题目描述 kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现. 洛谷的网页端,有很多文件夹,文件夹还套着文件夹. 例如:\(/luogu/application ...

  5. 使用centos6.5整理出来的常用命令

    1.Vi 基本操作1) 进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面: $ vi myfile 进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插 ...

  6. 春节过后就是金三银四求职季,分享几个Java面试妙招,轻松搞定HR!

    春节过后就是金三银四,分享几个Java面试妙招,轻松搞定HR! 2020年了,先祝大家新年快乐! 今年IT职位依然相当热门,特别是Java开发岗位.软件开发人才在今年将有大量的就业机会.春节过后,金三 ...

  7. .net 基础汇总(1)

    1  转载 String.IsNullOrWhiteSpace和String.IsNullOrEmpty的区别

  8. sql注入文件写入和读取

    系统固定文件路径:https://blog.csdn.net/ncafei/article/details/54616826 /etc/passwd c:/windows/win.ini 文件读取使用 ...

  9. 请求 - Fetch(未完)

    概念和用法 可以被使用到更多地应用场景中:无论是service workers.Cache API.又或者是其他处理请求和响应的方式,甚至是任何一种需要你自己在程序中生成响应的方式. Cache 接口 ...

  10. SQLServer 数据库索引碎片

    --改成当前库 use DB_Name --创建变量 指定要查看的表 declare @table_id int set @table_id=object_id('TableName') --执行 d ...