昨天安装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.

最新文章

  1. 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句
  2. Leetcode 264. Ugly Number II
  3. 《Linux内核分析》第七周 可执行程序的装载
  4. Maven使用笔记(三)Maven的工作原理
  5. 百度地图经纬度转换JS版
  6. Codevs 1507 酒厂选址
  7. CH Round #58 - OrzCC杯noip模拟赛day2
  8. 浅谈AngularJS启动引导过程
  9. Integer.parseInt(String s, int radix)方法介绍(修正版)
  10. Unity3D ——强大的跨平台3D游戏开发工具(二)
  11. flex布局基本语法
  12. LeetCode--017--电话号码的字母组合(java)
  13. MYSQL去除"/r/n"
  14. MySQL存储过程-->通过游标遍历和异常处理迁移数据到历史表
  15. php -- 正则替换
  16. elasticSearch6源码分析(7)node
  17. Monkeyrunner的相关总结
  18. 53. Reverse Words in a String【easy】
  19. 689. Maximum Sum of 3 Non-Overlapping Subarrays三个不重合数组的求和最大值
  20. TypeScript 运算符

热门文章

  1. 关于GC(垃圾回收)
  2. oracle 取某个时间的数据(每周几的上午几点到几点)
  3. Spring Boot源码(四):Bean装配
  4. opencv二值化的cv2.threshold函数
  5. 【python基础语法】字符串常用方法 、列表(第3天课堂笔记)
  6. 安装MongoDB到Ubuntu(APT)
  7. .NET MVC强类型参数排除和包含
  8. SQLserver 行变列。
  9. JN_0017:在当前目录运行CMD
  10. 【3】Python中的广播