NVIDIA GPU Driver, CUDA 和 PyTorch的版本关系

news2024/11/18 15:21:30

我们在进行深度学习环境配置的时候,会遇到各种各样的问题。有各种各样的驱动、包需要安装。不同驱动和包之间的还存在版本适配问题,刚入手的同学会一脸懵逼。配置环境成了入门的第一道门槛。我现在总结了NVIDIA 显卡 + Anaconda资源库 + PyTorch深度学习框架的环境配置指南,希望能够帮助大家。

显卡驱动安装

首先需要安装显卡驱动,显卡驱动不需要每个人安装,只需要拥有root的权限的管理者为整台服务器安装即可,选择一款与服务器显卡适配的驱动,安装指南参考NVIDIA显卡驱动。值得注意的是,每个版本的显卡驱动都有对应的CUDA Driver Version(后续会提到)。显卡型号和CUDA Driver Version型号可以通过nvidia-smi查看。
在这里插入图片描述

Ubuntu 下 CUDA Toolkit Installer

接着需要安装CUDA和CuDNN套件,此套件也不需要所有用户都安装,建议root权限管理者在服务器地址 /usr/local/ 下,通过官网提供的CUDA Toolkit Installer安装多个版本的CUDA,如下图,我在对应地址下安装了两个版本的CUDA。
在这里插入图片描述

安装指南参考CUDA and cuDNN 配置.

其他用户只需要根据自己的需求,在使用前修改自己的环境变量,即修改 ~/.bashrc文件中的CUDA环境变量,即可灵活切换不同版本的CUDA。

export  PATH=/usr/local/{cuda root}/bin:$PATH
export  LD_LIBRARY_PATH=/usr/local/{cuda root}/lib64$LD_LIBRARY_PATH

普通用户修改并激活环境变量后,可以查看该版本CUDA对应的 CUDA Runtime Version。
在这里插入图片描述
nvcc编译器路径为/usr/local/{cuda-version}/bin

注意:
CUDA有Driver Api 和 Runtime api,分别对应显卡驱动的CUDA Driver Version 和 CUDA Toolkit Installer 的 CUDA Runtime Version。CUDA Driver Version 和 CUDA Runtime Version的版本不必非要一致,driver api的版本能向下兼容runtime api的版本,因此要CUDA Runtime Version<=CUDA Driver Version。

PyTorch安装

在PyTorch官网上使用命令行下载的时候,会发现也需要指定cudatoolkit的版本,此时的cudatoolkit的版本应与环境变量对应的CUDA Runtime Version相同。

各个版本相互关系

以下是笔者假设与猜想,没有证实
在这里插入图片描述
参考链接:https://blog.csdn.net/IMBINGO/article/details/118497217

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

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

相关文章

Packet Tracer - 配置扩展 ACL - 场景 2

Packet Tracer - 配置扩展 ACL - 场景 2 拓扑图 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 RTA G0/0 10.101.117.49 255.255.255.248 不适用 G0/1 10.101.117.33 255.255.255.240 不适用 G0/2 10.101.117.1 255.255.255.224 不适用 PCA NIC 10.101…

No primary or single public constructor found for interface java.util.List

我的爆错原因是途中ids忘记标注注解PathVariable了&#xff0c;因为要传入一系列的整数的列表对象到路径/emps/deleteEmps/{ids}中&#xff0c;所以我这里就是加上注解PathVariable就OK了。

TAPD使用规范

目录 https://www.bilibili.com/?spm_id_from333.788.0.0我该如何理解这段网址&#xff1f; ?spm_id_from333.788.0.0&#xff1a;表示查询字符串&#xff0c;用于向服务器传递额外的参数信息。在这个例子中&#xff0c;该查询字符串可能用于追踪网站访问来源或统计数据分析…

windows权限维持之计划任务

schtasks常用参数: /Create 创建新计划任务。 /Delete 删除计划任务。 /Query 显示所有计划任务。 /Change 更改计划任务属性。 /Run 按需运行计划任务。 /End 中止当前正在运行的计划任务。 …

会声会影2023旗舰版升级更新及新增功能讲解

会声会影2023新版增加了众多新功能&#xff0c;在海外同样引起了很多关注。每年会声会影更新他都会制作一条&#xff0c;今年的你也不容错过&#xff0c;相信你看完对2023版会声会影将更有兴趣升级~ 建议2022版之前的老朋友&#xff0c;一定要升级2023版&#xff0c;在程序的性…

Linux的字符集及编码

Linux 字符集设置 1、查询 (1) 查看当前服务器字符集: # locale (2) 查看服务器支持的字符集: # locale -a 2、修改linux系统字符集的方式有如下两种&#xff1a; (1) 直接设置变量的方式修改&#xff0c;命令如下两条命令&#xff1a; [root~]# LANG"xxx" 或者…

人脉社交社群运营系统源码

人脉社交社群运营需要注意以下几个方面&#xff1a; 社群定位&#xff1a;要明确社群的目标人群、服务内容和特点&#xff0c;以便吸引到符合社群需求的用户。 内容策划&#xff1a;需要提供丰富、有趣、有价值的内容&#xff0c;如文章、图片、视频等&#xff0c;以增…

鸿蒙Hi3861学习八-Huawei LiteOS(事件标记)

一、简介 事件是一种实现任务间通信的机制&#xff0c;可用于实现任务间的同步。但事件通信只能是事件类型的通信&#xff0c;无数据传输。一个任务可以等待多个事件的发生&#xff1a;可以是任意一个事件发生时唤醒任务进行事件处理&#xff1b;也可以是几个事件都发生后才唤醒…

​#立夏# 气温升高,3招提高电路板的散热效率!

电路板是电子设备的核心&#xff0c;上面安装了各种元器件&#xff0c;如电阻、芯片、三极管等。这些元器件在工作时都会产生一定的热量&#xff0c;从而使电路板的温度升高。如果不及时将这些热量散发出去&#xff0c;电路板就会过热&#xff0c;影响元器件的性能、可靠性和寿…

Mysql进阶(一)Mysql执行流程与架构

文章目录 一句查询语句是如何执行的&#xff1f;通信协议通信方式查询缓存词法语法解析和预处理&#xff08;解析器、预处理器&#xff09;查询优化器与查询执行计划什么是优化器优化器可以做什么优化器执行结果 存储引擎基本介绍存储引擎比较如何选择存储引擎 一条更新SQL是如…

java语法(一)基本概念、数据类型、字符串类、集合

文章目录 java程序运行流程JDK、JRE、JVM的关系 java数据类型基本数据类型基本数据类型之间的转换 引用数据类型数组类Java Bean重写 equals和hashcode 接口接口与类之间的关系 内置包装类装箱和拆箱包装类的应用Object类toString()equals()方法getClass() 方法接收任意引用类型…

【蓝桥杯选拔赛真题56】Scratch画笔涂色 少儿编程scratch图形化编程 蓝桥杯选拔赛真题讲解

目录 scratch画笔涂色 一、题目要求 编程实现 二、案例分析 1、角色分析

STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

目录 前言 通信协议选择 上位机配置实现 下位机代码实现 通信效果演示 总结 前言 前面介绍了通过VOFA上传变量并显示成波形方便调试的方法&#xff0c;VOFA上传的是浮点&#xff0c;一个浮点需要4个byte才能够表示&#xff0c;这对本就不是很快的串口带来说有不小负担&am…

Django框架之模型自定义管理器

类属性 objects 是manager类的一个对象&#xff0c;作用是与数据库进行交互。 当定义模型类没有指定管理器&#xff0c;django会为模型创建objects管理器。 表结构与数据 CREATE TABLE myapp_grades (id int(11) NOT NULL AUTO_INCREMENT,name varchar(20) NOT NULL,boy_num…

疫情红利出清后如何破局?华大智造的三场突围战

作者&#xff5c;严睿 华大智造&#xff08;688114.SH&#xff09;上市后的首份年报&#xff0c;亮点颇多。 比如2022年公司营收再创新高&#xff0c;达到42.31亿元&#xff0c;净利润同比增长3倍余&#xff1b;比如2022年度华大智造基因测序仪全球装机量达到600&#xff0c;…

处理日期和时间的 chrono 库

C11 中提供了日期和时间相关的库 chrono&#xff0c;通过 chrono 库可以很方便地处理日期和时间&#xff0c;为程序的开发提供了便利。chrono 库主要包含三种类型的类&#xff1a;时间间隔duration、时钟clocks、时间点time point。 1. Ratio 时间精度(节拍) std::chrono::ra…

helm和chart

Helm helm是Kubernetes 应用的包管理工具&#xff0c;主要用来管理 Charts&#xff0c;类似Linux系统的yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata&#xff0c;以便于应用程序的分发。 he…

Linux驱动编程(总线设备驱动模型)

一、驱动编写的3种方法 1、传统写法 使用哪个引脚&#xff0c;怎么操作引脚&#xff0c;都写死在代码中。最简单&#xff0c;不考虑扩展性&#xff0c;可以快速实现功能。修改引脚时&#xff0c;需要重新编译。 2、总线设备驱动模型 引入 platform_device/platform_driver&am…

【.NET基础加强第八课--委托】

.NET基础加强第八课--委托 委托&#xff08;Delegate&#xff09;委托操作顺序实例多播委托—委托链实例实例委托传值 委托&#xff08;Delegate&#xff09; 委托&#xff08;Delegate&#xff09; 是存有对某个方法的引用的一种引用类型变量 委托操作顺序 1,定义一个委托类…

SpringCloud------Eureka修改实例显示信息、服务发现Discovery、自我保护(六)

SpringCloud------Eureka修改实例显示信息、服务发现Discovery、自我保护&#xff08;六&#xff09; 1.actuator微服务信息完善 2.服务发现Discovery 3.Eureka自我保护 actuator微服务信息完善 web和actuator依赖用于图形化监控 1.主机名称&#xff1a;服务名称修改 新增…