.deb版本cuda安装。

.deb版本cuda安装。1.先记录下驱动问题:1).run形式安装cuda。清理原有显卡驱动后,先安装自己显卡对应的驱动,在步骤中出现”Wouldyouliketorunthenvidia-xconfigutilitytoautomaticallyupdateyourXconfigurationfile…”时,选择No。(这里是cuda自带的旧版本的驱动)。我安装cuda8.0时,是…

大家好,又见面了,我是你们的朋友全栈君。

1.先记录下驱动问题:

1).run形式安装cuda。清理原有显卡驱动后,先安装自己显卡对应的驱动,在步骤中出现”Would you like to run the nvidia-xconfig utility to automatically update your X configuration file…”时,选择 No。(这里是cuda自带的旧版本的驱动)。

我安装cuda8.0时,是禁用原有驱动,使用cuda所带驱动。(应该是cuda之后的版本都可以了?)

2).deb形式安装cuda。由于会默认安装自带的旧版本驱动,故安装成功后,卸载此驱动,再重新安装显卡对应的驱动。

2.记录下大概步骤,详情见下:

1).进入cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb存放目录,安装deb。

 sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb

2).sudo apt-get update

3).回到主目录(否则提示找不到cuda文件)

sudo apt-get install cuda

安装过程非常漫长,如果中途断网输入:sudo apt-get install cuda  –fix-missing

4).先把错配的显卡驱动清理干净

sudo apt-get –purge remove nvidia-*

5).由于cuda7.5中自带的Nvidia驱动是老版本,安装之后将会使得系统无法找到独立显卡(TITAN),故需要重新安装相应的驱动。

我安装后在python中执行以下代码时,提示找不到cuda7.5对应的驱动(好像是38*几 记不清了,但我的显卡对应的驱动是390.87),一下代码返回False。找来找去,打算第二天删掉一个驱动。没想到过一晚成功了~~~哦耶

import torch
print(torch.cuda.is_available())

6).重启。

7).环境变量

8).检测

1).先把错配的显卡驱动清理干净

sudo apt-get –purge remove nvidia-*

2).由于cuda7.5中自带的Nvidia驱动是老版本,安装之后将会使得系统无法找到独立显卡(TITAN),故需要重新安装相应的驱动。

我安装后在python中执行以下代码时,提示找不到cuda7.5对应的驱动(好像是38*几 记不清了,但我的显卡对应的驱动是390.87),一下代码返回False。找来找去,打算第二天删掉一个驱动。没想到过一晚成功了~~~哦耶

import torch
print(torch.cuda.is_available())

3).重启。

4).进入cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb存放目录,安装deb。

 sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb

5).sudo apt-get update

6).回到主目录(否则提示找不到cuda文件)

sudo apt-get install cuda

安装过程非常漫长,如果中途断网输入:sudo apt-get install cuda  –fix-missing

插入下卸载旧版本问题:

由于需要安装cuda A,,所以需要卸载cuda B.
如果是使用.run 文件安装的,使用下面方法卸载
/usr/local/cuda/bin 目录下,有cuda 自带的卸载工具uninstall_cuda_7.5.pl

cd /usr/local/cuda/bin
sudo ./uninstall_cuda_7.5.pl

如果是使用 .deb 安装的,使用下面方法卸载

 sudo apt-get --purge remove <package_name>

注:package_name即为cuda,或者/usr/local/cuda,  /usr/local/cuda-7.5

over!
然后去官网下载需要的cuda安装就可以了

基础平台:64-bit,Ubuntu14.04

一、安装前的环境准备和检查

1、安装Ubuntu系统14.04

新安装完的14.04系统会提示很多更新项。
网上有很多帖子说不建议更新,说更新过后会导致安装CUDA发生系统界面循环登录的问题。
但是我更新后,并没有遇到任何问题。

2、检查否具备安装CUDA的条件

a) 查看显卡/GPU信息

在终端中输入: 

 lspci | grep -i nvidia

.deb版本cuda安装。

还需要检查自己的GPU是否是CUDA-capable,去CUDA的官网查看自己的GPU版本是否在CUDA的支持列表中英伟达显卡计算力官网查询地址(非常重要!!!我看的教程都没有强调这一点,我也给简单的过去了,结果我安装的pytorch运行不了!!)。

深度学习中我们对GPU的计算能力一般是要求大于5.0,具体情况具体分析,低于5.0也并非一定不可以。
几款科学计算显卡对比

我的错误如图:.deb版本cuda安装。

我的是非常低级的 ,考虑使用低版本的cuda。

b)查看 Ubuntu 系统的位数,终端输入命令,如下显示 x86_64,说明系统是 64 位。

uname -m && cat /etc/*release

.deb版本cuda安装。
c) 检查自己的Linux版本是否支持 CUDA(Ubuntu 14.04没问题)

d) 检查是否安装了gcc:没有的话可以通过 sudo apt-get install gcc安装。

gcc --version 

.deb版本cuda安装。

3.安装显卡驱动

以上检查我的电脑系统都满足要求,如果没有满足要求的话,可以参考cuda的官方文档,里面有详细的针对每个问题的解决方案。

1.下载:根据上一步,进入Nvidia 的官网,找到对应 Quadro k2000 显卡的 Linux 64-bit 的驱动程序

我对应的是NVIDIA 390.87 而cuda7.5自带的是NVIDIA-SMI 384.130。

涉及到用哪个版本。(保留疑问,文末链接1是,卸载cuda自带的驱动。2018.8.31,先装cuda,按照此步骤,重新安装驱动。
.deb版本cuda安装。
.deb版本cuda安装。

2. 屏蔽开源驱动 nouveau

sudo gedit /etc/modprobe.d/blacklist.conf
添加以下内容保存
blacklist vga16fb 
blacklist nouveau 
blacklist rivafb 
blacklist nvidiafb 
blacklist rivatv 
(这里有一行空格)
3.清理旧显卡驱动
sudo apt-get --purge remove nvidia-*(需要清除干净) 
sudo apt-get --purge remove xserver-xorg-video-nouveau

4. 重启电脑。

5.安装

5.1按Ctrl + Alt +F1(F1~F6均可)到x-server, Ctrl+Alt+F7是返回

5.2关闭图形环境,否则驱动无法正常安装,输入用户名密码登录,然后键入命令后执行(数字不能用小键盘输入)

sudo service lightdm stop

    成功关闭服务后将出现:lightdm stop/waiting

(这里记录下一句指令,为 NVIDIA**.run 驱动程序添加可执行权限: sudo chmod +x NVIDIA**.run)

5.3进入驱动所在的文件夹,执行

sudo sh NVIDIA*.run

后面就一路Accept就可以~报错The distribution-provided pre-install script failed!不必理会,继续安装。最重要的一步,安装程序问你是否使用nv的xconfig文件,这里一点要选yes,否则在启动x-window时不会使用nv驱动。

5.4重启 X-window 服务

sudo service lightdm start

5.5查看显卡是否装好,运行

glxinfo | grep rendering

假如显示”direct rendering: Yes“,则已安装。

nvidia-smi #查看驱动版本

也可以在 Ubuntu 已经安装的 Apps 中找到 NVIDIA X Server Settings 软件,可以查看到 GPU0 是 Quadro K2000,至此,本台 GPU 显卡驱动安装完毕。

.deb版本cuda安装。

二、安装Cuda

1.下载nvidia cuda的仓库安装包nvidia-cuda,找到自己电脑对应系统对应版本。

技术分享

注意选择的是deb(network).

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.5-18_amd64.deb

2.安装

# 安装cuda软件包
sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb

# 更新本地仓库
sudo apt-get update

# 安装cuda啦
sudo apt-get install cuda

原来的技术博客里说Ubuntu系统安装好后不要更新系统补丁,原因见 博客3.

3.环境变量

echo ‘export PATH=/usr/local/cuda-7.5/bin:$PATH‘ >> ~/.bashrc 
echo ‘export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH‘ >> ~/.bashrc source ~/.bashrc

4.验证

1) 查看NVCC编译器的版本

nvcc -V i

2)查看显卡的驱动版本

cat /proc/driver/nvidia/version

3)用例:

cd /usr/local/cuda/samples 
sudo make ‐j8 
4)
cd bin/x86_64/linux/release/
sudo ./deviceQuery
sudo ./bandwidthTest

最后一行 result=pass表示通过~

3. 验证环境

(1) 新建test.py,复制如下内容保存,(主目录/home/lvxia下)

from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time
 
vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
iters = 1000
 
rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in xrange(iters):
    r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
    print(‘Used the cpu‘)
else:
    print(‘Used the gpu‘)

(2)新建 .theanorc 设置GPU代替CPU运算(主目录)

可以使用 gedit 打开,因为 vi 不太会操作。。复制如下内容到文件中保存。这个文件在home目录下看不到,可以通过命令 ls –all 看到的~

[global]
floatX=float32
device=gpu

(3) 运行test.py

python test.py

三、安装cudnn。

https://blog.csdn.net/m0_37644085/article/details/81837410 第二部分

驱动问题:

0 down vote

Starting from CUDA 8.0, it’s possible to have multiple CUDA versions installed. You can then activate different values for PATH environment that will present you with different CUDA version.

Command to immediately obtain the CUDA version:

$ nvcc --version | grep "release" | awk '{print $6} | cut -c2-'

You can confirm the result by checking the install status of CUDA libraries:

$ dpkg -l | grep cuda

For installing multiple versions of CUDA, you can refer to this article.

 

 

其他资料:

http://blog.sina.com.cn/s/blog_3fe8bc880102wghj.html

# modprobe: ERROR: could not insert ‘nvidia_361_uvm’: Invalid argument

这是因为cuda8.0自带了361版本的nvidia driver

需要将其卸载

sudo apt-get remove nvidia-361

或者

sudo update-alternatives –config x86_64-linux-gnu_gl_conf

输出:

Selection Path Priority Status

————————————————————

0 /usr/lib/nvidia-361/ld.so.conf 8604 auto mode

1 /usr/lib/nvidia-361-prime/ld.so.conf 8603 manual mode

2 /usr/lib/nvidia-361/ld.so.conf 8604 manual mode

* 3 /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf 500 manual mode

输入3按回车,再运行./deviceQuery就成功了。

这种方法有时候会自动跳回2,不知道为什么,重新按该过程配置一下就行了。直接卸载361有没有side effect不能确定。

到这里就配置好cuda8.0了。

 

 

 

Options : History : Feedback : Donate Close
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137595.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • i386和i686的具体定义

    i386和i686的具体定义转自:http://hi.baidu.com/adongwang/blog/item/a4f89c3e5654ad0bbaa167b2.htmli386和i686    现在所有的intel32位体系(包括AMD等兼容CPU)都叫i386体系,包括P4。、i686仍然属于i386体系,不过对CPU(相对于386)的特性作了指令优化。GNU/Linux分为alpha、PowerP

    2022年6月1日
    41
  • xmlns属性

    xmlns属性今天在看网上其他的项目,发现有一行代码我不明白意思:百度之后,才知道,这是一个属性。在XHTML中,xmlns属性是必需的。在HTML中,xmlns属性是无效的。xmlns属性规定文档的xml命名空间。然而,如果在XHTML文档中未使用xmlns, http://w3.org 的HTML验证器也能正确识别文档。这是因为命名空间”xmln

    2025年8月10日
    1
  • 笛卡尔心形函数表达式_笛卡尔心形曲线[通俗易懂]

    笛卡尔心形函数表达式_笛卡尔心形曲线[通俗易懂]1650年,斯德哥尔摩的街头,52岁的笛卡尔邂逅了18岁的瑞典公主克里斯汀。那时,落魄、一文不名的笛卡尔过着乞讨的生活,全部的财产只有身上穿的破破烂烂的衣服和随身所带的几本数学书籍。生性清高的笛卡尔从来不开口请求路人施舍,他只是默默地低头在纸上写写画画,潜心于他的数学世界。一个宁静的午后,笛卡尔照例坐在街头,沐浴在阳光中研究数学问题。他如此沉溺于数学世界,身边过往的人群,喧闹的车马队伍。都无法对他…

    2022年10月17日
    2
  • linux管道、EPIPE 和 SIGPIPE 的关系「建议收藏」

    linux管道、EPIPE 和 SIGPIPE 的关系「建议收藏」试验目的:验证试验过程:

    2022年5月29日
    166
  • Java异或什么意思_0与0异或

    Java异或什么意思_0与0异或异或^的几个作用一、交换两个整数的值而不必用第三个参数a=9;b=11;a=a^b;1001^1011=0010b=b^a;1011^0010=1001a=a^b;0010^1001=1011a=11;b=9;二、奇偶判断^a操作就是将a中的每一位按位逐一进行异或,例如a=4’b1010,则b=1^0^1^0=0,由此可以判断a中为1的位数是奇数还是偶数,是一个便捷的操作。三、格雷码(Graycode)格雷码(Graycode)是由贝…

    2022年10月4日
    3
  • VHDL 与 VerilogHDL 详细对比

    VHDL 与 VerilogHDL 详细对比序号区别之处VHDLVerilog1文件的扩展名不一样.vhd.v2结构不一样包含库、实体、结构体。ENTITY实体名ISPORT(端口说明)END实体名;ARCHITECTU…

    2022年9月21日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号