草庐IT

Ubuntu下CUDA环境配置

cl965 2023-12-18 原文

目录

一.Cuda下载

二.NVIDIA驱动

三.安装 


本文为通用教程,以Ubuntu20.04.01+CUDA11.6.1+NVIDIA510.54为例。

一.Cuda下载

1.Cuda11.6.1下载链接        cuda_11.6.1_510.47.03_linux.runhttps://developer.nvidia.com/cuda-11-6-1-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local

注:Ubuntu下也可以采用wget下载,终端输入以下指令,等待下载完成即可

wget https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run

2.其它版本下载地址

https://developer.nvidia.com/cuda-toolkit-archive

二.NVIDIA驱动

1.进入NVIDIA官网,查询对应驱动清单(本文以Geforce RTX 3080为例),选择合适的版本

官方高级驱动搜索 | NVIDIA适用于 GeForce、TITAN、NVIDIA RTX、数据中心、GRID 等 NVIDIA 产品的高级驱动搜索。https://www.nvidia.cn/Download/Find.aspx?lang=cn

            本环境选择的是510.54版本,如下图中矩形框所示:

510.54版本下载链接:

https://cn.download.nvidia.cn/XFree86/Linux-x86_64/510.54/NVIDIA-Linux-x86_64-510.54.run

2.点击查看该版本支持的显卡型号

注意:CUDA和NVIDIA驱动有版本对应关系,如下节所示,若安装其它版本需注意

3.显卡驱动与CUDA版本对应关系

显卡驱动与Cuda版本对应关系https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

4.CUDAUbuntu 、GCC版本对应关系(for linux)
NVIDIA CUDA Archived Documentation 总的集合https://docs.nvidia.com/cuda/archive/

三.安装 

             1.准备

下载上述版本NVIDIA驱动和CUDA,先安装make和g++,如果系统安装过NVIDIA驱动,需先卸载

卸载指令:sudo apt-get remove nvidia-*

2.禁用nouveau 

# 1.创建/etc/modprobe.d/blacklist-nouveau.conf文件,添加以下内容以阻止nouveau模块加载

        sudo vim /etc/modprobe.d/blacklist-nouveau.conf

# 2.添加

        blacklist nouveau

        options nouveau modeset=0

# 3.更新内核文件

        sudo update-initramfs -u

# 4.重启计算机,查找nouveau模块,是否还存在

        lsmod | grep nouveau

3.禁用图形界面服务

        sudo /etc/init.d/lightdm stop 或 sudo service lightdm stop

如提示lightdm不存在或者未安装,先暂时跳过该步骤

4.赋予权限并安装CUDA

#cd到CUDA安装文件目录下

        sudo chmod a+x cuda_11.6.1_510.47.03_linux.run

        sudo sh ./cuda_11.6.1_510.47.03_linux.run

注意:安装过程中会提示是否安装自带的510.47.03驱动是,选择no,其它都是yes

## 1.接受许可,输入accept

## 2.不安装cuda自带的驱动,将Driver前面的X去掉

## 3.选择 Install 回车,等待安装完成

## 4.安装完成如下

5.安装显卡驱动

# 1.进入多用户-命令行模式

        init 3 或者Ctrl +Alt +F2(F1~F6都可以)

#cd到驱动安装文件目录下

        sudo sh ./NVIDIA-Linux-x86_64-510.54.run --no-x-check -no-nouveau-check -no-opengl-files

注意:不安装opengl是因为可能会影响桌面,过程中提示是否升级X config配置文件,如果独显做输出就选yes,否则就默认no,其它都默认 

# 2.切回图行桌面

        init 5 或者Ctrl +Alt +F7

# 3.验证驱动

        nvdia-smi 或者watck nvidia-smi    

        扩展:watch -n 1 nvidia-smi  表示每隔0.5秒刷新一次GPU使用情况

                   nvidia-smi -l 1 同上,建议使用该命令,不太影响cuda使用

6.配置环境变量

        sudo vim /etc/profile

# 1.在末尾添加以下内容

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

        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64

# 2.使环境变量立即生效

        source /etc/profile

# 3.验证环境变量是否生效

        nvcc -V

# 4.若正常输出cuda版本信息则表示成功

7.验证cuda和驱动

貌似新的cuda包不再安装例子程序了,即使选择了安装

# 1.cd 到实例目录

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

        make

        ./deviceQuery

8.禁用系统自动更新、内核更新(务必)

系统更新可能会升级内核,有时候会造成显卡驱动失效或者进系统黑屏等问题,带来不必要的折腾。

# 1.禁用系统更新:打开“Software & Updates ->Updates”,修改如下:

# 2.禁用内核更新:

        ##1.查看系统当前所用内核:

        uname -a

        ## 2.用以下指令查看跟系统所用版本内核相关的文件(带linux-image、linux-headers的)

        dpkg --get-selections | grep linux-image

        dpkg --get-selections | grep linxu-headers

        dpkg --list | grep linux-image

        dpkg --list | grep linux-headers

        ls /boot/

        ## 3.禁用内核更新:

        带linux-image、linux-headers的对应版本的都执行sudo apt-mark hold,有比所用版本的新的要删除掉。

        sudo apt-mark hold linux-headers-5.4.0-42

        sudo apt-mark hold linux-headers-5.4.0-42-generic

        sudo apt-mark hold linux-image-5.4.0-42-generic

        ## 4.进系统黑屏(有时候只有一个光标在左上角闪)、nvidia-smi提示如下信息等问题

        最简单的办法就是重启系统,进入grub引导界面,选择“Advanced option for Ubuntu/Ubuntu高级选项”,回车,之后选择旧的内核版本(优先选择带恢复模式的)进入系统

正常情况上述操作都能恢复正常,nvidia-smi 提示“NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver......”,也可以通过如下操作解决:

        ## 1.安装dkms

        sudo apt-get install dkms

                    ## 2.查看本机连接不上的驱动版本(若能记得版本可跳过此步)

        ls -l /usr/src/

        ## 3.重新生成对应版本的驱动模块

        sudo dkms install -m nvidia -v 510.54

有关Ubuntu下CUDA环境配置的更多相关文章

  1. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  2. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  3. ruby - 如何在 Ubuntu 中清除 Ruby Phusion Passenger 的缓存? - 2

    我试过重新启动apache,缓存的页面仍然出现,所以一定有一个文件夹在某个地方。我没有“公共(public)/缓存”,那么我还应该查看哪些其他地方?是否有一个URL标志也可以触发此效果? 最佳答案 您需要触摸一个文件才能清除phusion,例如:touch/webapps/mycook/tmp/restart.txt参见docs 关于ruby-如何在Ubuntu中清除RubyPhusionPassenger的缓存?,我们在StackOverflow上找到一个类似的问题:

  4. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  5. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  6. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  7. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  8. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  9. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  10. ruby-on-rails - ruby gem如何在rails环境下工作 - 2

    我试图在rails中了解rubygems是如何变得可以自动使用的,而不是在使用required的文件中gem? 最佳答案 这是通过bundler/setup完成的:http://bundler.io/v1.3/bundler_setup.html.它在您的config/boot.rb文件中是必需的。简而言之,它首先将环境变量设置为指向您的Gemfile:ENV['BUNDLE_GEMFILE']||=File.expand_path('../../Gemfile',__FILE__)然后它通过要求bundler/setup将所有ge

随机推荐