【Ubuntu 20.04LTS系统】安装CUDA11.8、cuDNN,可进行CUDA版本切换

Ubuntu 20.04LTS系统安装CUDA11.8、cuDNN,可进行CUDA版本切换

  • 1. 更改为清华源并更新软件列表和依赖项
  • 2. 安装CUDA
  • 3. 安装cuDNN
  • 4. CUDA版本切换

1. 更改为清华源并更新软件列表和依赖项

https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiversedeb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse

更新软件列表和必要的依赖项

sudo apt-get update		# 更新软件列表
sudo apt-get install g++		# 下载g++编译器
sudo apt-get install gcc		# 下载gcc编译器
sudo apt-get install make		# 下载GNU Make编译器
sudo apt-get install initramfs-tools   # 下载安装initramfs-tools

2. 安装CUDA

步骤一: 下载CUDA安装包

  • 进行CUDA和cuDNN的选择,也可以直接根据官方推荐进行下载安装。
  • 从Nvidia官网下载CUDA https://developer.nvidia.com/cuda-downloads
    下方链接,选择更多版本 https://developer.nvidia.com/cuda-toolkit-archive
    在这里插入图片描述
  • 接下来根据提示进行下载、安装
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run

步骤二: 安装CUDA安装包过程中的选择

  • Do you accept the above EULA? (accept / decline / quit):
    是否接受最终用户许可协议,输入accept
    在这里插入图片描述

  • 回车键进行勾选,X就是选中,没有X就是没有选中,把安装驱动进行取消。之后向下键,回车确认
    在这里插入图片描述

  • 最后点击 install

  • 出现了警告信息,对安装无影响在这里插入图片描述

截图日志:

wit622@622:~/cuda$ sudo sh cuda_11.8.0_520.61.05_linux.run
[sudo] wit622 的密码: 
===========
= Summary =
===========Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-11.8/Please make sure that-   PATH includes /usr/local/cuda-11.8/bin-   LD_LIBRARY_PATH includes /usr/local/cuda-11.8/lib64, or, add /usr/local/cuda-11.8/lib64 to /etc/ld.so.conf and run ldconfig as rootTo uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.8/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 520.00 is required for CUDA 11.8 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:sudo <CudaInstaller>.run --silent --driverLogfile is /var/log/cuda-installer.log

也可以进入日志进行查看(位置如下):

 /var/log/cuda-installer.log

步骤三: 配置CUDA环境

sudo  vim ~/.bashrc
  • 在bashrc文件最下方,添加下入代码
  • (ps:这边需要注意cuda的版本,版本不同,路径的命名需修改)
export PATH=$PATH:/usr/local/cuda-11.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
  • 更新环境
source ~/.bashrc
  • 测试CUDA是否安装成功
nvcc -V

输出下述结果,表示安装成功:

wit622@622:~/cuda$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

3. 安装cuDNN

步骤一:下载cuDNN包

https://developer.nvidia.com/rdp/cudnn-archive

  • 例如这边选择了Download cuDNN v8.8.1 (March 8th, 2023), for CUDA 11.x
  • 点击Local Installer for Linux x86_64 (Tar)即可下载压缩包
    在这里插入图片描述
  • 将压缩包,放入自定义路径后,输入命令进行解压
tar -xvf cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz 
  • 解压后,输入命令,讲cuDNN对应文件拷贝至CUDA指定路径。
wit622@622:~/下载$ cd cudnn-linux-x86_64-8.8.1.3_cuda11-archive/
wit622@622:~/下载/cudnn-linux-x86_64-8.8.1.3_cuda11-archive$ ls
include  lib  LICENSE
sudo cp include/cudnn*.h /usr/local/cuda-11.8/include
sudo cp lib/libcudnn* /usr/local/cuda-11.8/lib64
sudo chmod a+r /usr/local/cuda-11.8/include/cudnn*.h /usr/local/cuda-11.8/lib64/libcudnn*

4. CUDA版本切换

因为后续部分项目,用的库对应的CUDA不同,无需进行修改,修改环境CUDA路径即可。例如需要11.1的CUDA,可通过修改bashrc进行修改

sudo vim ~/.bashrc

将原先的cuda-11.8注释掉,添加cuda-11.1新的环境设置,即可

# cuda-11.8
# export PATH=$PATH:/usr/local/cuda-11.8/bin
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64# cuda-11.1
export PATH=$PATH:/usr/local/cuda-11.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/2450.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二维码识别 OCR 原理及如何应用于物流和仓储管理中

摘要 在传统的物流和仓储管理中&#xff0c;人工操作容易出现错误和低效率。然而&#xff0c;随着二维码技术的普及和二维码识别OCR接口的应用&#xff0c;物流和仓储管理实现了更高水平的自动化和智能化。通过扫描和解码二维码&#xff0c;物流和仓储管理系统可以实现货物跟踪…

Flutter有状态组件StatefulWidget

当继承StatelessWidget组件时&#xff0c;在组件中更新数据时页面不会立即刷新。 如果继承StatefulWidget时&#xff0c;只要在setState方法中更新数据后页面会实时更新数据。 Flutter有状态组件StatefulWidget 完整代码&#xff1a; import package:flutter/material.dart;v…

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识

JavaEE进阶首章 文章目录 【JavaEE】JavaEE进阶&#xff1a;框架的学习 - Spring的初步认识1. JavaEE初阶 与 JavaEE进阶 开发上的区别1.1 Servlet VS Spring Boot1.2 Spring Boot的 “hello world”代码演示1.2.1 Spring Boot项目的创建1.2.2 hello world1.2.3 发布 2. 框架的…

.net core jwt 身份验证初步了解1

JWT全称Json Web Token jwt是用于身份验证的开放标准,是目前最流行的跨域认证解决方案&#xff0c;是一种基于 Token 的认证授权机制。从 JWT 的全称可以看出&#xff0c;JWT 本身也是 Token&#xff0c;一种规范化之后的 JSON 结构的 Token&#xff0c;它可以在网络之间传递信…

分区类型ID一键变身!快速改变分区类型ID的简单方法

分区类型ID是什么&#xff1f; 想要改变分区类型ID&#xff0c;先得明白分区类型ID是什么。大多数电脑用户可能只熟悉分区和分区类型&#xff0c;实际上有5种分区类型&#xff1a;主分区、可扩展固件接口&#xff08;EFI&#xff09;、扩展分区、逻辑分区和Microsoft保留分…

idea 自定义类注释模板和方法模板,无警告

背景&#xff1a;idea&#xff1a;IntelliJ IDEA 2023.1.3 (Ultimate Edition) 效果&#xff1a;&#xff08;主要是没无参&#xff0c;不会换行&#xff09; 类&#xff1a; /** * author sss* date ${DATE} on ${TIME}* desc $NAME*/# 完全复制上面的&#xff0c;删除这一行…

全球公链进展| Polygon代币MATIC将升级为POL;BNB Beacon链主网「张衡」升级

一周速览 过去一周&#xff0c;明星项目动态如下&#xff1a; Optimism升级 OP Mainnet 上排序器&#xff1b; Polygon提议代币升级&#xff0c;用POL 取代MATIC&#xff1b; Arbitrum将激活One和Nova上的账户抽象端点支持&#xff1b; BNB Beacon Chain 将进行「张衡」升…

ES6标准下在if中进行函数声明

ES5中规定&#xff0c;函数只能在顶层作用域或函数作用域之中声明&#xff0c;不能在块级作用域声明。 // 情况一 if (true) {function f() {} }// 情况二 try {function f() {} } catch(e) {// ... }上面两种函数声明&#xff0c;根据 ES5 的规定都是非法的。但是&#xff0c…

mongodb作业

1.创建一个数据库 名字grade use grade2.数据库中创建一个集合名字 class db.createCollection("class")3.集合中插入若干数据 db.class.insert([{name:"zhang",age:10,sex:m,hobby:[a,b,c]}])4.查找 查看班级所有人信息 db.class.find()查看班级中年…

【C++】将类对象转换成基本数据类型

2023年7月19日&#xff0c;周三晚上&#xff1a; 今天晚上看源码的时候&#xff0c;突然在某个类里面看到了“operator bool() const;”&#xff0c;我完全想不起来这是啥意思了&#xff0c;于是今晚重新学习了一下 目录 类型转换函数的定义类型转换函数的作用 类型转换函数的…

王道计算机网络学习笔记(5)——传输层和应用层

前言 文章中的内容来自B站王道考研计算机网络课程&#xff0c;想要完整学习的可以到B站官方看完整版。 五&#xff1a;传输层 5.1&#xff1a;传输层基本概述 传输层的功能&#xff1a; 1传输层提供进程和进程之间的逻辑通信 2复用和分用 微信和QQ都使用传输层的协议进行发…

R语言ggplot2——柱形图

BMIread.table(/Users/zhangzhishuai/Downloads/33 lesson33 ggplot2散点图&#xff08;一&#xff09;/33_ggplot2/BMI.txt, header T,row.names 1,sep \t) library(ggplot2) BMI$namerownames(BMI) ggplot(BMI,aes(xname,yheight)) geom_bar(stat identity # identity:数…

Vue3基础知识

文章目录 第一章 vue3 安装1.1安装1.2开启服务器1.3 使用图形化界面1.4 Vite1.5 vue3项目打包1.6 vue3 创建项目1.6.1 vue create命令1.6.2 创建一个项目 第二章 vue3 基础2.1 vue3 的目录结构2.2 vue3 的起步2.2.2 data 选项2,2.3 methods 2.3 Vue3 指令2.4 vue3 模板语法2.4.…

【NLP】使用BERT构建一个情绪分析模型

一、说明 在本教程中,我们将深入挖掘BERT,一个著名的基于“transformer”的模型,并提供一个动手示例来微调用于情绪分析的基本BERT模型。本文提供了有关给定主题的信息摘要。本文属于应用性文章,不应该被视为原创研究。本文中包含的信息和代码可能会受到各种在线文…

vue3和tauri直接下载Binary 数组的二进制文件内容到本地

通过发送url请求&#xff0c;直接获取到一个文件的Binary 数组内容&#xff0c;然后通过tauri的api&#xff1a;writeBinaryFile保存文件到本地电脑。 发送请求的时候&#xff0c;要加上响应类型&#xff1a;responseType: ResponseType.Binary 然后等返回的响应内容&#xf…

Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么

目录 Chat GPT是什么 初学者怎么使用Chat GPT 使用Chat GPT需要注意什么 一些简单的prompt示例 Chat GPT是什么 Chat GPT是由OpenAI开发的一种大型语言模型&#xff0c;它基于GPT&#xff08;Generative Pre-trained Transformer&#xff09;架构。GPT是一种基于深度学习的…

应对突发流量,如何快速为自建 K8s 添加云上弹性能力

作者&#xff1a;庄宇 以 Kubernetes 为代表的容器技术带来的是一种应用交付模式的变革&#xff0c;其正迅速成为全世界数据中心的统一 API。 为了保证业务持续稳定、用户访问不中断&#xff0c;高可用、高弹性等能力是应用架构设计不变的追求&#xff0c;多集群架构天然具备…

AJAX基础教程

1、引言 就是异步刷新&#xff0c;AJAX要和XMLHttpRequest对象、JavaScript/DOM、CSS、XML一起使用 2、XMLHttpRequest对象 XMLHttpRequest对象&#xff0c;异步的与服务器交换数据&#xff0c;这意味着可以在不重新加载整个网页的情况下&#xff0c;对网页的某部分进行更新…

【无标题】

Linux下不能连接ppa.launchpad.net的问题&#xff08;中科大软件源&#xff09; 警告&#xff1a;操作前请先做好备份。 1. 替换ppa源成中科大源 每个ppa都会在/etc/apt/sources.list.d/目录下创建一个list文件&#xff0c;修改: vi /etc/apt/sources.list.d/ubuntu-toolch…

JAVA找BUG之OOM

大家好哇&#xff0c;我是梦辛工作室的灵&#xff0c;在最近的工作中&#xff0c;又遇到了一个bug&#xff0c;系统运行一段时间后就会频繁OOM&#xff0c;然后直接假死或退出&#xff0c;一度折磨着我&#xff0c;后面不停的翻日志查GC&#xff0c;最后才终于确认位置&#xf…