ubuntu重装系统后,安装cuda,cudnn

一、 先安装驱动,如果驱动安装不成功,会影响桌面,再重装系统还来得及,尝试了很多方法,还是用系统安装最靠谱:

首先进入Ubuntu搜索栏目,找到软件更新器的一个图标,点开之后是这样的。


选择第一个,点击应用更改,剩下的操作只需要等待应用更改完成,关闭该窗口,重启Ubuntu即可。若重启之后nvidia-smi是正常的,那么恭喜你就已经大功告成了。

二、安装cuda

参考:Ubuntu 安装CUDA_ubuntu安装cuda-CSDN博客

1.先根据安装的驱动选择合适的版本:watch nvidia-smi

可以发现,我这里的NVIDIA显卡驱动版本是 535.183.01,这里可以看到本机最高支持CUDA 12.2,也就是说我这张卡12.2之下的CUDA版本该显卡都可以支持,12.2之上的则不支持。

2. 根据显卡驱动版本,安装对应的CUDA版本

确定了我们的显卡版本号,其实也能看到自己所支持的CUDA版本上限了。这里附上一个NVIDIA Driver Version与CUDA Version的关系图,用来确定CUDA的版本。
(1) 确定 CUDA 版本

我们拿到了我们显卡的驱动版本,去NVIDIA官网CUDA 12.5 Update 1 Release Notes(往下翻)查看该驱动版本所能支持的CUDA版本:
如下表:

通过上表可以发现,由于自己的NVIDIA显卡驱动版本是 470.141.03,所以自己电脑显卡支持的版本CUDA 11.4及之下。由于现在pytorch最高支持到12.1,所以安装12.1的版本。

如果之前安装了cuda要先卸载在安装,可通过nvcc --version查看是否安装;

卸载方式:在/usr/local/cuda/bin 文件夹下运行:sudo ./cuda-uninstaller,用回车选中要卸载的选项,然后done,提示Successfully uninstalled完成卸载,然后 sudo rm -r cuda*相关的文件夹

查看是否卸载干净命令: sudo dpkg -l |grep cuda

驱动、cuda、cudnn全部卸载命令(谨慎操作)

sudo apt-get --purge remove  cuda   :卸载软件及其配置
sudo apt-get autoremove cuda          :卸载软件及其依赖的安装包sudo apt-get autoclean ubuntu          :删除残余
(2) 安装 CUDA
下载地址:CUDA Toolkit Archive | NVIDIA Developer

然后根据系统的版本选择,一定要选runfile(local)

按照它给出来的指令依次执行:

wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run
sudo sh cuda_12.1.0_530.30.02_linux.run

然后会弹出选择界面,请用手指点击你键盘的↑ ↓按键。

  1. 我们选择Continue ,然后输入accept

  2. 按回车取消 Driver 的安装,也就是[ ]里面没有X(因为一般已经装好驱动了),然后回车选择 Install

  3. 选择 Install后,终端就会跳出选择界面,回到正常终端模式,并且没有任何提示。
    这是正常现象,等待安装完成即可。安装完成后,会出现如下类似界面:

  4. 接着我们需要添加CUDA的环境变量,以便于可以任何地方都能启动它(不知道Linux的环境变量知识点可自行搜索),输入以下命令:
    sudo gedit ~/.bashrc
    在其中添加并保存:

    export PATH=/usr/local/cuda-12.1/bin:$PATH
    export LD_LIBRARY_PATH=$LD_LIBRAY_PATH:/usr/local/cuda-12.1/lib64
    export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.1
  5. 接着:
    source ~/.bashrc
    至此我们安装cuda成功,可以通过以下命令查看cuda信息:
    查看CUDA版本信息:nvcc --version
    没有问题的话,一般会输出以下信息,就成功了。

  三、安装cudnn:

1、下载对应的cudnn版本

nvidia官网下载https://developer.nvidia.com/rdp/cudnn-archive

12.x        # 代表支持cuda12的任意版本

11.x        # 代表支持cuda11.0到11.8的任意版本

只需要根据安装的cuda版本选择任意相应的版本即可。 

2、以cudnn v8.9.7 for CUDA 12.x为例进行安装

tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

cd cudnn-linux-x86_64-8.9.7.29_cuda12-archive

sudo cp include/* /usr/local/cuda/include/
sudo cp lib/* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

3 、测试安装是否成功

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

显示如上信息则安装成功

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

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

相关文章

开发个人Ollama-Chat--5 模型管理 (二)

开发个人Ollama-Chat–5 模型管理 (二) ChatGPT 这是该项目的最终效果,使用ollama的open-webui进行人与机器的对话功能,对话的后端服务则完全对接自己开发的Go项目。 如何实现呢?则通过这篇文章,一一给大家剖析后端的原理及功能…

mmaction2的GPU环境配置记录RTX3090,cuda12.2,ubuntu22.04版本

1、配置镜像源 最重要的一个步骤,先看下镜像源地址,如果镜像源有问题,所有的包安装都会有问题 镜像源地址获取地址:选择对应的ubuntu版本号,将里面的镜像源地址复制出来,更新到服务器 ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirro…

牛客小白月赛98

骰子魔术 jackle 会拿出一枚骰子,骰子的表面分别写上了从 1∽5001\backsim 5001∽500 的数字,朋友会随便说一个 1∽5001\backsim 5001∽500 之间的点数,jackle 都能保证百分之百的掷出这个点数。 当然 jackle 有备而来,他准备了 …

LeetCode分发糖果(贪心思路分析)

题目描述 贪心思路 思路及解法 我们可以将「相邻的孩子中&#xff0c;评分高的孩子必须获得更多的糖果」这句话拆分为两个规则&#xff0c;分别处理。 左规则&#xff1a;当 ratings[i−1]<ratings[i] 时&#xff0c;i 号学生的糖果数量将比 i−1 号孩子的糖果数量多。 …

实现win10多用户同时远程连接登陆(详细实验步骤版)

目录 目的环境实验步骤&#xff08;在需要被远程的win10上&#xff09;1. 开启远程桌面服务2. 编辑组策略实现多用户登录3. 安装RDPWrap实现多用户同时登录 测试 目的 默认情况下&#xff0c;win10 专业版只支持本地或远程只能同时存在一个连接。windows server支持多连接。 比…

【unity笔记】十、Obi绳索插件使用

一. 创建绳索 1.1 新建蓝图 在Assets中右键选择创建->Obi->Rope Blueprint&#xff0c;其属性如图所示 1.2 Obi solver 在场景下创建一个obi solver对象&#xff0c;在该对象下再创建Obi Rope对象。 随后将蓝图拖到Obi Rope对象下的Obi Rope组件&#xff0c;即可看到…

MES系统与其他系统的集成:提升制造业智能化的关键路径

在当今高度竞争的制造业环境中&#xff0c;企业对于生产效率、质量控制、资源优化以及快速响应市场变化的需求日益迫切。制造执行系统&#xff08;MES&#xff09;作为连接企业计划层与车间控制层的重要桥梁&#xff0c;其在提升生产透明度和优化生产流程方面发挥着不可替代的作…

【SQL】如何用SQL写透视表

【背景】 报表中有一大需求是透视表,目前有很多分析类应用也搭载了此类功能,那么我们能不能直接用SQL做透视表呢? 【分析】 BI类软件将透视表功能做在了前端,但是数据本身还是存储在数据库中,所以必然有方法可以用SQL直接实现透视表。 【心法】 透视表是任意选取一个…

2024最新6月泛二级域名秒收泛目录(二级域名泛站群)

5月免费版本无后台 无更新功能不自动引蜘蛛 2024年5月最新泛程序&#xff0c;秒收秒排&#xff01;&#xff08;泛型程序&#xff09; - 虚良SEO博客 新曾功能&#xff1a; 后台管理 蜘蛛统计 域名添加 一键强引蜘蛛 蜘蛛统计 识别真假蜘蛛 全自动引蜘蛛 域名要求 …

Vue3-15 表单的绑定

在Vue 3中&#xff0c;表单输入绑定是实现动态数据双向绑定的重要部分&#xff0c;它让开发者可以轻松地管理和响应用户输入。本文将详细介绍如何在Vue 3中利用v-model指令以及一些特定修饰符来处理不同类型的表单输入。 响应式表单数据 首先&#xff0c;我们定义了一个响应式…

Linux /etc/profile 详解

概述 Linux是一个多用户的操作系统。每个用户登录系统后&#xff0c;都会有一个专用的运行环境。通常每个用户默认的环境都是相同的&#xff0c;这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制&#xff0c;其方法就是修改相应的系统环境变量&…

如何检测代理IP是否有效?检查因素与方法全解

代理IP是一种网络代理技术&#xff0c;它是通过中间服务器来转发网络请求的IP地址。当我们使用代理IP时&#xff0c;我们的真实IP地址会被隐藏起来&#xff0c;而代理服务器的IP地址会被用作我们的身份标识。使用代理IP的步骤如下&#xff1a; 1.选择合适的代理服务器 考虑服务…

【JavaEE】网络原理——传输层协议

&#x1f921;&#x1f921;&#x1f921;个人主页&#x1f921;&#x1f921;&#x1f921; &#x1f921;&#x1f921;&#x1f921;JavaEE专栏&#x1f921;&#x1f921;&#x1f921; &#x1f921;&#x1f921;&#x1f921;上一篇文章&#xff1a;【JavaEE】网络编程—…

CDGA|数据治理:标准化处理与确保数据可溯源性

在当今信息爆炸的时代&#xff0c;数据已成为企业决策、科学研究和政府管理的核心要素。然而&#xff0c;随着数据量的不断增加和来源的多样化&#xff0c;数据治理成为了一个亟待解决的问题。特别是在处理复杂数据时&#xff0c;标准化处理和确保数据的可溯源性显得尤为重要。…

ERROR: No matching distribution found for matplotlib

1.问题&#xff1a;安装matplotlib报错&#xff0c;如下图所示&#xff1a; 2.通过换源&#xff0c;输入以下命令&#xff1a;python -m pip install matplotlib -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com&#xff0c;但是还是无效 3.在pycharm中升级…

【java算法专场】滑动窗口(上)

目录 滑动窗口 基本概念 长度最小的子数组 算法分析 算法步骤 示例 算法代码 无重复字符的最长子串 算法分析 算法步骤 示例 算法代码 最大连续1的个数 III 算法分析 算法步骤 示例 算法代码 将 x 减到 0 的最小操作数 算法分析 算法步骤 示例 算法代码 滑动…

location匹配的优先级和重定向

nginx的重定向&#xff08;rewrite&#xff09; location 匹配 location匹配的就是后面的uri /wordpress 192.168.233.10/wordpress location匹配的分类和优先级 1.精确匹配 location / 对字符串进行完全匹配&#xff0c;必须完全符合 2.正则匹配 ^-前缀级别&#xff…

[Vulnhub] Stapler wp-videos+ftp+smb+bash_history权限提升+SUID权限提升+Kernel权限提升

信息收集 IP AddressOpening Ports192.168.8.106TCP:21,22,53,80,123,137,138,139,666,3306, Using Nmap for scanning: $ nmap -p- 192.168.8.106 --min-rate 1000 -sC -sV The results are as follows: PORT STATE SERVICE VERSION 20/tcp closed ftp-data…

Java常用的三种注解

1、 基本注解 一、注解的概念 1、注解也叫元数据&#xff0c;是JDK1.5版本开始引入的一个特性&#xff0c;用于对代码进行说明&#xff0c;可以对包、类、接口、字段、方法参数、局部变量等进行注解。注解的形式是“单词”。 在不改变原有逻辑的情况下&#xff0c;使用注解在源…

白化(Whitening)的原理是什么?

**白化&#xff08;Whitening&#xff09;**是数据预处理中的一个重要步骤&#xff0c;其目的是将原始数据的各个维度之间的线性相关性去除&#xff0c;并使得每个维度的方差都为1。通过白化&#xff0c;可以简化后续的数据处理步骤&#xff0c;如独立成分分析&#xff08;ICA&…