.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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Warmup预热学习率「建议收藏」

    Warmup预热学习率「建议收藏」学习率是神经网络训练中最重要的超参数之一,针对学习率的优化方式很多,Warmup是其中的一种(一)什么是Warmup?Warmup是在ResNet论文中提到的一种学习率预热的方法,它在训练开始的时候先选择使用一个较小的学习率,训练了一些epoches或者steps(比如4个epoches,10000steps),再修改为预先设置的学习率来进行训练.(二)为什么使用Warmup?由于刚开始…

    2022年6月11日
    39
  • 概率论:假设检验-t检验、卡方检验和AD-Fuller test

    概率论:假设检验-t检验、卡方检验和AD-Fuller testhttp://blog.csdn.net/pipisorry/article/details/51184556卡方检验Chi-Squarethechi-squaretestmeasuresdependencebetweenstochasticvariables,sousingthisfunction“weedsout”thefeaturesthatare…

    2022年6月19日
    36
  • 用AVX2指令集优化浮点数组求和

    用AVX2指令集优化浮点数组求和用AVX2指令集优化浮点数组求和一、AVX2指令集介绍二、代码实现0.数据生成1.普通数组求和2.AVX2指令集求和:单精度浮点(float)3.AVX2指令集求和:双精度浮点(double)三、性能测试测试环境计时方式测试内容进行性能测试第一次测试第二次测试四、总结个人猜测原因:一、AVX2指令集介绍AVX2是SIMD(单指令多数据流)指令集,支持在一个指令周期内同时对256位内存进行操作。包含乘法,加法,位运算等功能。下附Intel官网使用文档。Intel®IntrinsicsGuid

    2022年5月7日
    49
  • 关于oracle的备份 导入[通俗易懂]

    关于oracle的备份 导入

    2022年1月19日
    57
  • python数组-1成员_python[1,2,3]*3

    python数组-1成员_python[1,2,3]*3使用python版本3.7首先先了解下python3.7中的下标,python下标有两套,一套是正的,一套是负的a=’python’中的python的下标可以如下组python正下标012345负下标-6-5-4-3-2-1对应位置的正下标-负下标=len(a)使用正下标时,下标i………………………

    2022年8月13日
    8
  • java如果智慧小区物业系统,基于ssm\springboot智慧小区物业管理平台实现

    java如果智慧小区物业系统,基于ssm\springboot智慧小区物业管理平台实现手把手实现智慧小区物业平台

    2022年10月17日
    1

发表回复

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

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