首页技术ubuntu edge(什么是ubuntuedge)

ubuntu edge(什么是ubuntuedge)

编程之家2024-05-1188次浏览

一、Ubuntu16.04无法安装CUDA吗

Ubuntu 16.04安装 CUDA7.5

ubuntu edge(什么是ubuntuedge)

作者:autocyz

在介绍Ubuntu 16.04安装 CUDA7.5开始前,先辨析几个概念GPU、NVIDIA、NVIDIA驱动、CUDA、cudnn等,这些概念对于一个新手来说肯定是很晕的,正如我当初一样,所以我这里就稍微介绍一下这几个概念:

GPU:Graphics Processing Units,也就是我们常说的显卡。现在的笔记本或者台式机都会有显卡,但是能够让我们用来做并行计算的真正的GPU就只有NVIDIA出产的GPU了。

NVIDIA:GPU生产厂商,在运算GPU处于垄断地位。

NVIDIA驱动:就是NVIDIA生产的GPU想在电脑上正常使用所需的驱动。

CUDA:Compute Unified Device Architecture,是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并-行计算架构,该架构使GPU能够解决复杂的计算问题。我们想使用GPU进行深度学习运算的时候,必须要用到这个运算平台。

ubuntu edge(什么是ubuntuedge)

cudnn:CuDNN是NVIDIA专门针对Deep Learning框架设计的一套GPU计算加速方案,目前支持的DL库包括Caffe,ConvNet, Torch7等.

Ubuntu 16.04安装cuda7.5

部分参照:

在安装之前,先说一下本人工作站的设备配置(主要是GPU的):

设备上一共有三块GPU,一快是专门用来做显示的NVS310

两块用来做运算的GeForce GTX TITIAN X

ubuntu edge(什么是ubuntuedge)

第一步:选择最新的nvidia驱动(很重要!!!)

先打开计算机中的“软件和更新”,查看“附加驱动”,选择nvidia的驱动为最新的驱动。更新完之后最好重启一下。

我曾经遇到一些错误,就是因为我的NVIDIA驱动太老了,而cuda7.5则依赖于比较新的驱动。

第二步:下载cuda

去官网下载,选择Linux——ubuntu——15.04(我安装的时候还只支持到15.04,没有支持16.04版本的)——runfile(local)

第三步:安装PPA软件管理包工具

什么是 PPA?

PPA,表示 Personal Package Archives,也就是个人软件包集。

有很多软件因为种种原因,不能进入官方的 Ubuntu软件仓库。为了方便 Ubuntu用户使用,launchpad.NET提供了 ppa,允许用户建立自己的软件仓库,自由的上传软件。PPA也被用来对一些打算进入 Ubuntu官方仓库的软件,或者某些软件的新版本进行测试。PPA上的软件极其丰富,如果 Ubuntu官方仓库中缺少您需要的某款软件,可以去 PPA上找找看。

我们安装的cuda可能在Ubuntu仓库中木有,所以用PPA来下载。

sudo add-apt-repository ppa:xorg-edgers/ppa

sudo apt-get update

第四步:执行cuda的.run文件

cd到下载的.run文件夹执行:

sudo./cuda_7.5.18_linux.run--override

第五步:选择安装选项

选择安装选项:(注意:应为之前已经安装过NVIDIA Display Driver的驱动了(如第一步),所以这里选择不安装NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39。如果选择安装会出现错误,并且导致安装CUDA失败。

Do you accept the previously read EULA?(accept/decline/quit): accept

You are attempting to install on an unsupported configuration. Do you wish to continue?((y)es/(n)o) [ default is no ]: y

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39?((y)es/(n)o/(q)uit): n

Install the CUDA 7.5 Toolkit?((y)es/(n)o/(q)uit): y

Enter Toolkit Location [ default is/usr/local/cuda-7.5 ]:

Do you want to install a symbolic link at/usr/local/cuda?((y)es/(n)o/(q)uit): y

Install the CUDA 7.5 Samples?((y)es/(n)o/(q)uit): y

Enter CUDA Samples Location [ default is/home/kinghorn ]:/usr/local/cuda-7.5

Installing the CUDA Toolkit in/usr/local/cuda-7.5...

Finished copying samples.

===========

= Summary=

===========

Driver: Not Selected

Toolkit: Installed in/usr/local/cuda-7.5

Samples: Installed in/usr/local/cuda-7.5

第六步:添加cuda到环境变量里面

sudo nano/etc/profile.d/cuda.sh

export PATH=$PATH:/usr/local/cuda/bin

sudo nano/etc/ld.so.conf.d/cuda.conf

/usr/local/cuda/lib64

source/etc/ld.so.conf.d/cuda.confcd/usr/local/cuda-7.5/samples/1_Utilities/deviceQuery

make

sudo./deviceQuery

sudo ldconfig

第七步:将GCC降级或者采用暴力的方式让cuda7.5支持高版本GCC。

由于cuda7.5不支持gcc4.9以上的版本,而ubuntu16.04默认的是gcc5,这会造成安装的失败,解决方法有两种,

1、对gcc进行降级,让系统采用低版本的GCC,但是这种方式有一定的问题,因为Ubuntu16.04很多系统文件默认是使用gcc5编译的,因此如果用降级的方法安装完cuda后,在后期安装caffe的时候,可能会报类似于undefined的错误,这是因为你的gcc版本低,其所需的系统文件找不到。.

sudo apt-get install g++-4.9

sudo update-alternatives--install/usr/bin/gcc gcc/usr/bin/gcc-4.9 20

sudo update-alternatives--install/usr/bin/gcc gcc/usr/bin/gcc-5 10

sudo update-alternatives--install/usr/bin/g++ g++/usr/bin/g++-4.9 20

sudo update-alternatives--install/usr/bin/g++ g++/usr/bin/g++-5 10

sudo update-alternatives--install/usr/bin/cc cc/usr/bin/gcc 30

sudo update-alternatives--set cc/usr/bin/gcc

sudo update-alternatives--install/usr/bin/c++ c++/usr/bin/g++ 30

sudo update-alternatives--set c++/usr/bin/g++

2、这种方式有点类似于黑箱方式,即强制让他不报错。编辑/usr/local/cuda/include/host_config.h,将其中的第115行注释掉:

#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

改为

//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

上面就是设置gcc版本优先级的。20和10就代表你所使用的gcc、g++的版本优先级。

第八步:测试是否安装成功

执行如下指令,正常情况下会出现设备中所有的GPU,并把每个GPU的信息打印出来。

nvidia-smi

如果没有出现错误之类的话,就说明安装成功了。

第九步:测试cuda的Samples

cd/usr/local/cuda-7.5/samples/1_Utilities/deviceQuery

make

sudo./deviceQuery

如果显示的是一些关于GPU的信息,则说明安装成功了。

Ubuntu 14.04安装配置CUDA

Ubuntu 12.04配置NVIDIA CUDA5.5实录

Ubuntu安装Theano+CUDA

关于Ubuntu 12.04下 CUDA5.5的安装请参看如下链接 Ubuntu 12.04安装 CUDA-5.5

Caffe配置简明教程( Ubuntu 14.04/ CUDA 7.5/ cuDNN 5.1/ OpenCV 3.1)

在Ubuntu 14.04上配置CUDA+Caffe+cuDNN+Anaconda+DIGITS

Ubuntu16.04下CUDA8.0+Caffe安装配置过程

Ubuntu 14.04下CUDA8.0+ cuDNN v5+ Caffe安装配置

Ubuntu 16.04+Nvidia GTX 1080+CUDA8.0深度学习环境配置

更多Ubuntu相关信息见Ubuntu专题页面

二、谁能给我一个用Ubuntu的理由

我还不是程序员,只是个小白,所以也不讲程序员那套……或许会忍不住。

################

1、Ubuntu是linux发行版中操作最简单的(deepin?没用过,听说桌面环境很卡,系统优化也不是太好;linux mint?也没用过,只是因为我的Ubuntu配置好了不想尝试别的,应该还不错)。

2、Ubuntu是linux发行版具有一个linux发行版在小白眼中该有的特征:体积不大,安全,正版免费。

3、Ubuntu是linux发行版中桌面系统占有率最高的系统。

4、Ubuntu对小白而言,相关问题解决方案相对于其他linux发行版最容易找。

5、Ubuntu的开发公司目标就是全平台,所以桌面端的开发不会停滞,我们作为日常作业的非程序员,要的也就是桌面端的发展。

以上是为什么在linux发行版中挑Ubuntu的原因,接下来是在linux本身的角度说为什么选Ubuntu。

1、Ubuntu拥有终端,最简单来说,安装应用在某些角度很方便,比如大多时候一个命令差不多软件就装好了,自己编译应用时不算。(Windows下找起来方便?linux下不知道名字根本没法装?我信了,不过Windows也有问题,需要上网搜软件包,动不动还中毒,或者官方的再来点“全家桶”;360软件管家一类?Ubuntu上不是也有各种软件中心嘛?软件不全?Windows的软件管家就是全的?咳咳……)

2、接第一条,Ubuntu“安静”,不用担心各种软件中的广告弹窗(针对Windows糟糕的软件商素质说的),也不用担心软件暗中安装,因为需要密码,如果真的被装了附带软件,不需要的话可以卸载,不用担心顽固的反复安装。(如果出现我说的“附带软件”,可能是所安装软件需要依赖那玩意儿运行,不过绝算不上“暗装”,终端中肯定会显示出来的……)

3、Ubuntu相比Windows在同硬件配置下有更出色的运行效率和流畅的速度,卡了?unity桌面环境的锅,换个桌面环境,这也是Windows不可及的地方,至少对强迫症来说可以选个自己喜欢的桌面环境了。

4、……我想对一个小白而言,上面的“理由”已经够了,下面开始“自我撕逼”……

################

W:我有大量的软件你有吗?我的用户可都习惯了我手下运行的应用了!爱死中国用户了,虽然他们用的大多是盗版我很不爽,但他们开发了QQ、迅雷、360安全卫士之类的,帮我锁了好多忠实用户呢!

U:大量软件是有的,不过或许真的没赶上你,毕竟你的用户有些喜欢做小工具类的软件。你的专属应用我是没什么好说的,Adobe全家桶我服,不过我也有GIMP等等的软件可以实现相关功能,基本可以应付日常所需了,更高级的功能嘛……开源社区那么多开发者,迟早会有的。你刚刚说什么QQ、迅雷?应该用起来挺方便的,可我我真的没受这些软件亲睐,我有这么不赚钱吗?还好skype是全平台的,其他一些优秀的多协议即时通讯软件似乎在中国不受待见。等等……盗版?那是什么?

W:……好吧,咱不提盗版的事了,它让我的一些同胞变得和你一样免费,可是似乎没你名声好,想起来我还有点想哭……

U:额……好吧,刚刚说到软件问题,其实我有wine这个兼容层,运行一些国际化exe程序还是可以的,他的贵族兄弟crossover在这方面还要强,听说mac OS也有wine呢!如果实在不行的话……我可以提供虚拟机的……你爸爸不是提供了各种90天“无限试用”版的你吗?运行你的软件应该不在话下了吧?

W:……我的小弟Windows10不是也有个子系统吗?也可以运行一些linux平台下的软件嘛!你牛个啥!我看下他的子系统是啥,你别吓着啊……嗯……Ubuntu?!

U:啊?貌似是的。

W:让我平复一下心情……

U:听说你付费?

W:免费了不起啊?!

U:听说mac OS比你贵?

W:闭嘴!!

U:算了,你游戏支持比我好,不和你争了,拜拜!~

W:喂!别走啊,我又不是给游戏机用的!把话说清楚啊!!

################

嗯,就是这样,那个Windows虚拟机文件官方是提供了毫无阉割删了可重装继续激活的90天试用版的,不过只能给虚拟机用。

地址:

################

最后要说的:用不用Ubuntu完全是用户自己的事,只使用Ubuntu更是另一回事。

如果你要玩游戏,建议不要从Windows或者mac OS离开,Ubuntu上肯定没太多的厂商开发游戏,尤其是联网的重型游戏。

如果你是尝鲜就试试Ubuntu好了,玩腻了再换回去。

Ubuntu真的玩适应了你会觉得离不开它,至少我已经将它作为日常操作系统了,不过或许出于我个人讨厌Windows上软件环境的“乱”和界面的“丑”。

如果你要用Ubuntu请用原版,中国的kilin版现在真的很不靠谱,还不如原版的支持好,顶多让人觉得它是个有点像Windows的不伦不类的玩意儿,但说句老实话,你想要个长得像Windows的系统干嘛不干脆还用Windows呢?(付费?我当作没听到好了……)

三、ubuntu上G2O库的安装

一、什么是G2O库?有什么用?

g2o是一个图优化库。常常在SLAM中被使用。

图优化本质上仍然是非线性优化。只不过利用图的方式表现出来,使问题可视化,然后可以根据可视化的结果来更好的调整优化过程。

图 是一种数据结构。在图优化中,用顶点 (vertex)表示优化变量,用边 (edge)表示误差项。于是,对于任意一个上述形式的非线性最小二乘问题,都可以构建一个与之对应的图。

在视觉SLAM十四讲中,常用的后端优化库有两个:g2o和ceres。ceres是google的一个优化库,文档详尽且友好,就不再赘述了。但对于g2o,除了源码,官方用doxygen生成的帮助文档,就只有论文  g2o: A general framework for graph optimization 和这篇github的文档。

二、如何安装G2O库?有哪些依赖项?在安装和使用的过程中,会遇到哪些问题,以及如何解决?

1安装步骤

git clone

cd g2o

mkdir build

cd build

cmake…/

make

sudo make install

2在编译时,我卡在opengl的库安装问题上。

glut库安装:

sudo apt-get install freeglut3-dev

总是提示

Err:1 bionic/universe amd64 freeglut3 amd64 2.8.1-3

connetciton failed [IP:91.189.91.39 80]

Err:2 bionic/universe amd64 freeglut3-dev amd64 2.8.1-3

connetciton failed [IP:91.189.91.39 80]

E:Failed to fetch   connection failed  [IP:91.189.91.39 80]

E:Failed to fetch   connection failed  [IP:91.189.91.39 80]

E:Unable to fetch some archives, maybe run apt-get install libglut-dev

最终解决方案,  更换 sources.list阿里源清华镜像。

apt-get update

apt-get upgrade

3在使用g2o时,编译用到了g2o库的project,遇到报错error:‘index_sequence’ is not a member of'std'

解决方案,修改project的CMakeLists.txt添加:set(CMAKE_CXX_STANDARD 14)

参考链接:

Ubuntu18.04更换 sources.list阿里源清华镜像–小固件(atmcu.com)

(81条消息)视觉SLAM十四讲报错 error:‘index_sequence’ is not a member of‘std‘_CSSDCC的博客-CSDN博客

(81条消息)视觉SLAM十四讲报错 error:‘index_sequence’ is not a member of‘std‘_CSSDCC的博客-CSDN博客

魅族m8刷安卓(魅族m8能否刷安卓系统)ibooks闪退(为什么我的ibooks会闪退)