安装GPU驱动,CUDA Toolkit和配置与CUDA对应的Pytorch

如果有帮助,记得回来点个赞

目录

  • 1.安装指定GPU驱动
    • 如果安装的GPU CUDA Version和CUDA Toolkit版本已经冲突怎么办?
  • 2.安装指定版本的CUDA Toolkit
    • 如果我安装了CUDA Toolkit之后nvcc -V仍然显示旧的CUDA Toolkit版本怎么办?
  • 3.安装与CUDA对应的Pytorch
    • 已经安装了错乱版本的cuda包怎么办
  • 4.调用CUDA库的逻辑(本节为转载内容)

1.安装指定GPU驱动

🔗:安装指定GPU驱动
在安装指定GPU驱动的时候,一定要注意一个点,就是你的CUDA Driver Version一定要和CUDA Toolkit保持一致.也就是说

nvidia-smi

nvcc -V

的版本号要保持一致.如下图所示
在这里插入图片描述

所以如果你的GPU如果没有驱动也没有CUDA tool kit的话,可以先选择只安装GPU驱动,然后在自己指定的虚拟环境中再安装指定版本的CUDA tool kit,也就是说GPU驱动是千万不能装错的,一旦GPU装好了,一定一定不要乱动它,否则直接炒蛋.能给人整爆炸!!!

在这里插入图片描述
Driver选择X,安装驱动driver

其中CUDA tool kit选择空白(enter),表示不进行这个安装!!

如果安装的GPU CUDA Version和CUDA Toolkit版本已经冲突怎么办?

有办法解决!
首先GPU CUDA Version和GPU驱动一般都是最合适的,就是下载GPU驱动就有了一个比较合适的CUDA Driver Version了,然后一定要选择英文版本的GPU驱动程序,不要选择中文的!
在这里插入图片描述
接着在选择CUDA Toolkit版本的时候,直接参考本博客第二章内容就行👇

2.安装指定版本的CUDA Toolkit

🔗:安装指定版本的CUDA Toolkit
具体安装方法是根据上面这个链接里面的Installation Instruction指令进行安装!
务必记住一点:在Linux环境中,比如是ubuntu系统,一定要选择runfile格式的安装包下载,不要选择deb格式的安装!!
直接在远程SSH窗口中wget他的一个下载链接,之后sudo sh CUDA_XXX.run安装即可!!!
在这里插入图片描述

如果我安装了CUDA Toolkit之后nvcc -V仍然显示旧的CUDA Toolkit版本怎么办?

有办法解决!
直接使用gedit或者vim编辑这个文件

vim ~/.bashrc

在这个文件最后一行添加如下环境变量.其中CUDA Toolkit一般就是在这个目录里面,其中如果你安装的是11.7的
CUDA Toolkit的话,目录就是这样的,如果你安装的是10.1版本的话,就把我下面这个命令的11.7换成10.1就行,其他不变!

export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

接着运行命令使环境命令生效

source ~/.bashrc

3.安装与CUDA对应的Pytorch

🔗:安装与CUDA对应的Pytorch

python命令打印torch版本和python使用的cuda版本,cudnn版本,是否真正的安装了cuda

import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
print(torch.cuda.is_available())

已经安装了错乱版本的cuda包怎么办

先查看和nVidia cuda有关的包,如果有,则需要把和项目需要的包的版本不匹配的包全部pip uninstall和conda uninstall,然后确保你的nvcc -V指定的版本和项目运行的版本匹配,然后完全删除这个错乱的环境,之后再根据readme文档安装指定的环境!
在这里插入图片描述
分享几个有用的grep命令

#查看通过conda安装的包名含有cuda的包
conda list | grep cuda
#查看通过pip安装的包名含有cuda的包
pip list | grep cuda#conda install nvidia-cuda-runtime-cu11==11.1

4.调用CUDA库的逻辑(本节为转载内容)

调用哪个 cuda 库要看生成 tensorflow / pytorch 库的时候,设置的链接库寻找目录,以 pytorch 为例,项目根目录下的 setup.py 中指定链接库的搜索目录,其中 cuda 的根目录 CUDA_HOME在 tool.setup_helpers.cuda 中有获取逻辑,大概过程是:先取默认 cuda 安装目录 /usr/local/cuda如默认目录不存在(例如安装原生 cuda 到其他自定义位置),那么搜索 nvcc 所在的目录如果 nvcc 不存在,那么直接寻找 cudart 库文件目录(此时可能是通过 conda 安装的 cudatoolkit,一般直接用 conda install cudatoolkit,就是在这里搜索到 cuda 库的),库文件目录的上级目录就作为 CUDA_HOME。如果最终未能得到 CUDA_HOME,那么生成的 pytorch 将不使用 CUDA。

作者:tsuka okami
链接:https://www.zhihu.com/question/344950161/answer/819075473
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

相关文章

《C++ primer plus》精炼(OOP部分)——对象和类(4)

“学习是人类进步的阶梯&#xff0c;也是个人成功的基石。” - 罗伯特肯尼迪 文章目录 友元函数利用友元函数重载<<运算符重载部分示例&#xff1a;矢量类 友元函数 先看看在上一章中我们作为例子的代码&#xff1a; class Student{string name;int grade;int operator…

第十九章、【Linux】开机流程、模块管理与Loader

19.1.1 开机流程一览 以个人计算机架设的 Linux 主机为例&#xff0c;当你按下电源按键后计算机硬件会主动的读取 BIOS 或 UEFI BIOS 来载入硬件信息及进行硬件系统的自我测试&#xff0c; 之后系统会主动的去读取第一个可开机的设备 &#xff08;由 BIOS 设置的&#xff09; …

Android NDK 中有导出 sp智能指针吗?如果没有,可以用什么方法代替 android::sp 智能指针

Android NDK 中有导出 sp智能指针吗&#xff1f;如果没有&#xff0c;可以用什么方法代替 android::sp 智能指针 Author: Lycan Note: 以下问题解答通过大模型生成&#xff0c;主要用于个人学习和备忘&#xff0c;仅供参考&#xff0c;若有错误或者侵权&#xff0c;请联系我修…

如何实现wingftpserver部署到外网访问?快解析p2p内网穿透

不少朋友选择用wing FTP来搭建部署FTP服务管理文件共享。Wing FTP Server是一个跨平台ftp服务器端&#xff0c;它有不错的可靠性和一个友好的配置界面&#xff0c;Wing FTP Server除了能提供FTP的基本服务功能以外&#xff0c;还能提供管理员终端、任务计划、基于Web的管理端和…

中国智能客服发展历程

中国智能客服的发展历程&#xff1a; 在2000年以前&#xff0c;互联网尚未普及&#xff0c;客服主要以电话沟通为主。从2000年到2010年&#xff0c;得益于计算机技术、计算机电话集成技术&#xff08;CTI&#xff09;、网络技术、多媒体机技术以及CRM、BI、ERP、OA等企业信息化…

基于SSM+Vue的校园教务系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

AK 9.12 百度Java后端研发B卷 笔试

T1(博弈论) #include <bits/stdc.h>#define endl \nusing namespace std;typedef long long LL;const int N 1e5 10;int n, m, t;void solve() {cin >> n >> m; t n m - 2;if(t & 1) cout << "Yes" << endl;else cout <&l…

MATLAB入门-字符串操作

MATLAB入门-字符串操作 注&#xff1a;本篇文章是学习笔记&#xff0c;课程链接是&#xff1a;link MATLAB中的字符串特性&#xff1a; 无论是字符还是字符串&#xff0c;都要使用单引号来‘’表示&#xff1b;在MATLAB中&#xff0c;字符都是在矩阵中存储的&#xff0c;无论…

Leetcode: 645.错误的集合 题解【超详细】

题目 集合 s 包含从 1 到 n 的整数。不幸的是&#xff0c;因为数据错误&#xff0c;导致集合里面某一个数字复制了成了集合里面的另外一个数字的值&#xff0c;导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复…

在WinForms应用程序中创建一个定时任务以监听鼠标左键点击事件可以通过以下步骤实现

在WinForms应用程序中创建一个定时任务以监听鼠标左键点击事件可以通过以下步骤实现&#xff1a; 1. 打开您的WinForms应用程序或创建一个新的WinForms项目。 2. 在窗体上添加一个Timer控件&#xff0c;用于定时检查鼠标左键点击事件。 3. 在窗体的构造函数或Load事件处理程…

新手如何开始Microstation CE版二次开发

一步步学习MicroStation CE MDL&#xff08;C&#xff09;开发 - 技术资料库 - Bentley 中国优先社区 - Bentley Communities https://communities.bentley.com/communities/other_communities/chinafirst/w/chinawiki/57704/microstation-ce-mdl-c一步步学习MicroStation CE A…

VS2022 开发.net 4.0的方法

原文连接&#xff08;如果安装.net 4.0 把文中的4.5改为4.0即可&#xff09; Visual Studio 2022 如何安装低版本的 .Net Framework - 一颗路边小石头 - 博客园 (cnblogs.com)

代码随想录二刷day29

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣491. 递增子序列二、力扣47. 全排列 II三、力扣46. 全排列 前言 一、力扣491. 递增子序列 class Solution {List<List<Integer>> res ne…

算法:合并两个有序数组---双指针[1]

文章来源&#xff1a; https://blog.csdn.net/weixin_45630258/article/details/132673462 欢迎各位大佬指点、三连 1、题目&#xff1a; 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元…

java关于文件记录篇章之文件夹创建篇

今天&#xff0c;创建一个文件夹目录的时候&#xff0c;创建多级目录的时候发现&#xff0c;自己老是创建失败&#xff0c;但是系统显示文件夹创建成功&#xff0c;但是你去找文件夹的时候&#xff0c;又发现创建失败&#xff0c;这里在我成功之后封装了一个创建文件夹的创建对…

小节5:Python列表list常用操作

1、对列表的基本认知&#xff1a; 列表list&#xff0c;是可变类型。比如&#xff0c;append()函数会直接改变列表本身&#xff0c;往列表里卖弄添加元素。所以&#xff0c;list_a list_a.append(123)就是错误的。如果想删除列表中的元素&#xff0c;可以用remove()函数&…

Android RecyclerView BaseSectionQuickAdapter实现分组功能

详情网站&#xff1a;手把手教你使用BaseSectionQuickAdapter实现分组功能&#xff0c;史上最详细Adapter使用教程_basequickadapter 分组_杨阿程的博客-CSDN博客 //加入二个包implementation com.android.support:recyclerview-v7:26.0.0-beta1implementation com.github.Cym…

2023/9/15 -- C++/QT

作业&#xff1a; 1> 将工程文件进行注释 2> 03login_box.pro: QT core gui #core核心库 gui图形开发库greaterThan(QT_MAJOR_VERSION, 4): QT widgets #4.0版本以上自动包含widgets库CONFIG c11 #支持C11版本# The following define makes your compiler em…

npm 发布包、更新包,同步到 cnpm (taobao镜像)

如果还没有npm账号&#xff0c;请直接到 https://www.npmjs.com 注册。已有账号&#xff0c;根据下面的流程登录&#xff1a; 1. 登录 执行命令&#xff1a; npm login根据步骤输入你的用户名(Username)&#xff0c;密码(Password)&#xff0c;邮箱(Email)&#xff0c;邮箱接…

C# byte转bit bit组装成byte

bit组装成Byte public void BitToByte(){List<char[]> chars new List<char[]>();char mm1 1;char mm2 1;char mm3 1;char mm4 1;char mm 0;char[] chars0 new char[]{ mm1, mm2, mm3, mm4, mm, mm, mm, mm };//0-7 chars.Add(chars0);byte[] bytes new b…