如何安装多版本CUDA?

首先聊一个题外话:前几天在csdn上看到的一个话题”安装pytorch一定要去nvidia官网下载安装cuda和cudnn吗?“

我相信任何一个刚开始接触或者从事深度学习的炼丹者都会从安装cuda开始,现在网上随便一搜如何安装pytorch,蹦出来教程提及到的流程基本上都是先安装cuda,cudnn , 然后安装pytorch。但是现在完全没有必要,现在的pytorch都已经预构建了cuda以及cudnn,换言之,下载好了gpu版本的pytorch,pytorch默认用的都是自己附带的cuda。如果只是用pytorch训练、推理深度学习模型,完全没有必要再去额外安装完整版的cuda cudnn ,现在版本的pytorch都附带了不完整的cuda,这对于训练模型、模型推理等完全够用了,除非你触及到了cuda编程、cuda编译构建项目这个层面(国内深度学习从业者难有20%会触及到这个层面)此时才需要安装完整的英伟达cuda。因此对于刚开始接触或者从事深度学习的小白,特别是刚入门的学生党,基本上不会接触到这个层面,因此没有特别大的必要去英伟达官方下载安装完整版的cuda。直接下载Pytorch就可以直接使用了。

利用Pytorch等深度学习框架进行模型训练是”打怪升级“的第一阶段,今天我想谈一下,”打怪升级“的第二阶段:模型多环境推理部署和加速推理 的过程中 会遇到的一个实际问题:多版本CUDA

举一个典型的案例:生产环境下,我们要求项目具有低延迟、高吞吐,使用pytorch训练出来的原始模型往往满足不了这样的要求的,因此模型部署的时候不会采用pytorch训练出来的原始模型,在英伟达平台下,我们都会采用Tensorrt推理对项目进行深度加速,tensorrt加速也离不开CUDA,并且对cuda版本要求较为严格。假设项目A用的是Tensorrt10.x 需要CUDA12.X,项目B用的是Tensorrt 8.x,需要CUDA11.X。现在需要在本地测试一下两个项目,需要多版本CUDA怎么办?

所以如果可以灵活地在不同cuda版本间切换将是非常方便的。anaconda就可以实现这个功能。我们可以在conda创建的不同虚拟环境中安装不同的cuda和cudnn版本,以此来实现不同cuda版本间的切换。

一、通过Anaconda安装CUDA

我们可以通过anaconda安装CUDA。以cuda12.2为例,详细的安装步骤在nvidia官网也都有介绍CUDA Toolkit Documentation 12.2 (nvidia.com)

我这里直接给出简要步骤:

首先anaconda源更换为conda-forge,然后使用conda search命令可以查看可用的cuda版本

conda search cuda -c nvidia

我们可以直接通过下面的命令安装CUDA 

conda install cuda -c nvidia

但是上面的命令是安装最新版本CUDA。截止到24.06.27是CUDA12.5.0。一般我们安装时往往不是安装最新版本的,而是安装指定版本的,因此需要添加 -c nvidia/label/cuda-x 来指定具体的版本,例如我需要安装CUDA12.2。则使用下面的命令 

conda install cuda -c nvidia/label/cuda-12.2.0

例如,我在cuda12.2的anaconda虚拟环境下安装CUDA12.2 

安装好之后,在anaconda虚拟环境名为cuda12.2验证cuda版本,可以看到cuda版本号为12.2 

 由此,成功通过anaconda在虚拟环境中安装好了CUDA。如果还需要安装另外一个版本的CUDA,新建一个虚拟环境按照上面的步骤重复操作一次即可。由此实现了虚拟环境下多版本CUDA

 二、在Anaconda环境中通过pip安装CUDA

我们不仅可以使用anaconda安装CUDA,还可以使用pip安装CUDA。以CUDA11.6为例,详细的安装步骤在nvidia都有介绍

Installation Guide Linux :: CUDA Toolkit Documentation (nvidia.com)

 下面以pip安装cuda11.6为例,我们需要安装下面的wheel包

nvidia-nvml-dev-cu116
nvidia-cuda-nvcc-cu116
nvidia-cuda-runtime-cu116
nvidia-cuda-cupti-cu116
nvidia-cublas-cu116
nvidia-cuda-sanitizer-api-cu116
nvidia-nvtx-cu116
nvidia-cuda-nvrtc-cu116
nvidia-npp-cu116
nvidia-cusparse-cu116
nvidia-cusolver-cu116
nvidia-curand-cu116
nvidia-cufft-cu116
nvidia-nvjpeg-cu116

pip安装的时候需要添加nivida源 

--extra-index-url https://pypi.ngc.nvidia.com

例如pip安装CUDA11.6的命令如下 

pip install nvidia-nvml-dev-cu116 nvidia-cuda-nvcc-cu116 nvidia-cuda-runtime-cu116 nvidia-cuda-cupti-cu116 nvidia-cublas-cu116 nvidia-cuda-sanitizer-api-cu116 nvidia-nvtx-cu116 nvidia-cuda-nvrtc-cu116 nvidia-npp-cu116 nvidia-cusparse-cu116 nvidia-cusolver-cu116 nvidia-curand-cu116 nvidia-cufft-cu116 nvidia-nvjpeg-cu116 --extra-index-url https://pypi.ngc.nvidia.com

如果需要安装其他版本的CUDA,则把最后的版本号修改一下即可。例如CUDA11.4的安装命令是

 pip install nvidia-nvml-dev-cu114 nvidia-cuda-nvcc-cu114 nvidia-cuda-runtime-cu114 nvidia-cuda-cupti-cu114 nvidia-cublas-cu114 nvidia-cuda-sanitizer-api-cu114 nvidia-nvtx-cu114 nvidia-cuda-nvrtc-cu114 nvidia-npp-cu114 nvidia-cusparse-cu114 nvidia-cusolver-cu114 nvidia-curand-cu114 nvidia-cufft-cu114 nvidia-nvjpeg-cu114 --extra-index-url https://pypi.ngc.nvidia.com

但是在指定英伟达pip源https://pypi.ngc.nvidia.com的情况下,通过pip安装似乎安装不了最新版本的CUDA。截止到2024.6.27,我发现能够安装的只有CUDA11.7及以下版本,CUDA11.8和CUDA12.X都会提示不存在。推荐大家通过Anaconda配置多版本CUDA

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

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

相关文章

pd虚拟机 Parallels Desktop 19 for Mac 破解版小白安装使用指南

Parallels Desktop 19 for Mac 乃是一款适配于 Mac 的虚拟化软件。它能让您在 Mac 计算机上同时运行多个操作系统。您可借此创建虚拟机,并于其中装设不同的操作系统,如 Windows、Linux 或 macOS。使用 Parallels Desktop 19 mac 版时,您可在 …

无线麦克风推荐哪些品牌,一文揭秘无线麦克风领夹哪个牌子好!

​究竟该如何选择麦克风呢?又该如何挑选无线麦克呢?询问我关于麦克风选择问题的人着实不少。对于那些仅仅是想要简单地自我娱乐的朋友而言,着实没必要去折腾,直接使用手机自带的麦克风便可以了。 但若是处于想要直播、拍摄短视频…

【Termius】详细说明MacOS中的SSH的客户端利器Termius

希望文章能给到你启发和灵感~ 如果觉得有帮助的话,点赞+关注+收藏支持一下博主哦~ 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境二、软件的安装2.1 Termius界面介绍2.1.1 Hosts 主机列表2.1.2 SFTP 文件传输2.1.3 Port ForWarding 端口转发2.1.4 Snippets 片…

为什么带货主播,他突然就不吃香了?

为什么带货主播他突然就不吃香了?工资骤降50%。 相比 2023 年初主播的平均薪资降了50%,那不管你是头部主播还是腰部主播,全部都降薪了。那尾部主播就更不用说了,有的主播他的时薪已经低到 20 块钱一个小时,还不如大学…

U-boot相关基础知识

U-boot和Bootloader之间的关系 U-Boot是Bootloader的一种实现,它专门用于嵌入式系统,特别是那些基于ARM、MIPS等处理器的系统。U-Boot提供了丰富的硬件支持和功能,使得开发者能够轻松地初始化硬件、加载操作系统内核,并进行一些基…

【漏洞复现】安美数字酒店宽带运营系统——命令执行漏洞(CNVD-2021-37784)

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 安美数字酒店宽带运营系统 server_ping.php 存在远程命令执行漏洞&#…

一文带你了解什么是【点击劫持】

点击劫持,意思就是你点击网页的时候,有人劫持你,对没错,劫持你的信息,甚至劫持你的马内,劫持你的理想,劫持你的肉体,劫持你的灵魂。就是这么可怕。 目录 1 如何实现假网站 1.1 if…

“未来独角兽” | 安全狗入选福建省数字经济核心产业创新企业名单

近日,福建省数据管理局公布了入选2024年度全省数字经济核心产业创新企业名单。 作为国内云原生安全领导厂商,安全狗凭借自身在云安全领域的卓越表现和创新实力入选,获得“未来独角兽”称号。 据悉,此次对“未来独角兽”的评选条件…

计算机视觉(CV)技术:优势、挑战与前景

摘要 计算机视觉作为人工智能的关键领域之一,正迅速改变我们的生活和工作方式。本文将探讨CV技术的主要优势、面临的挑战以及未来的发展方向。 关键词 计算机视觉, 人工智能, 数据处理, 自动化, 伦理问题 目录 引言计算机视觉技术的优势计算机视觉技术的挑战实…

内网穿透小工具

内网穿透小工具 前言 当在本地或者虚拟机,内网搭建了项目,数据库。可是在外网无法访问。下面的两款小工具可以暂时实现内网穿透能力。(不支持自定义域名,但是不限制隧道数量!且免费!免费!免费…

云主机相比物理机有哪些优势

随着信息技术的飞速发展,云计算技术逐渐成为现代企业的核心驱动力。其中,云主机作为云计算的重要组成部分,以其高性能、高可用性和灵活便捷的特性,成为企业IT架构的新选择。今天我们就来了解探讨云主机相比传统主机,有…

#### 广告投放 ####

以巨量引擎为例: 计费模式 eCPM(expected Cost Per Mile,估计千次展示收入) 概括: ecpm为千次展示的预估收益,是广告平台用来给广告排序的指标。 注意是展示而不是千次点击收益,展示了可能不…

文献解读-基因编辑-第十二期|《CRISPR-detector:快速、准确地检测、可视化和注释基因组编辑事件引起的全基因组范围突变》

关键词:基因组变异检测;全基因组测序;基因编辑; 文献简介 标题(英文):CRISPR-detector: fast and accurate detection, visualization, and annotation of genome-wide mutations induced by g…

Zynq7000系列FPGA中的DMA控制器——PL外设请求接口

图9-4中展示了PL外设请求接口主要由两部分组成:PL外设请求总线和DMAC确认总线。这两部分分别使用特定的前缀进行标识,具体如下: PL外设请求总线(PL Peripheral Request Bus): 前缀:DR功能&…

免费Logo在线生成:必试的6款工具

logo对企业来说非常重要。一个好的logo免费设计在线生成器往往会给企业带来无形的利润。因此,许多企业非常重视自己公司的logo。作为一名设计师,如果能找到一个好的logo免费设计在线生成器,势必会给实际的logo设计带来事半功倍的效果。本文精…

RNN循环卷积神经网络

1.定义 RNN (Recurrent Neural Network,RNN)循环卷积神经网络,用于处理序列数据。 序列数据:按照一定的顺序排列的数据,可以是时间顺序、空间顺序、逻辑顺序。 eg:电影、语言 2.特点 传统神经网络模型无法…

gin数据解析,绑定和渲染

一. 数据解析和绑定 1.1 Json数据解析和绑定 html文件&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…

grpc学习golang版( 五、多proto文件示例)

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 文章目录 一、前言二、定义proto文件2.1 公共proto文件2.2 语音唤醒proto文件2.3 人脸唤醒proto文件2.4 生成go代码2.…

德国威步的技术演进之路(上):从软件保护到用户体验提升

德国威步自1989年成立以来一直专注于数字安全技术的研究和发展&#xff0c;在软件保护和数字授权领域树立了行业标杆&#xff0c;并在云端许可管理和物联网安全技术方面不断创新。德国威步的成就彰显了其对安全、创新和可持续发展的坚定追求。 德国威步将“完美保护、完美授权…

基于Vue+ElementUI框架实现学生管理系统前端页面设计

目录 一. 最终效果展示 二. 详细教程 1. 创建项目 2. 下载组件 3. 在main.js中配置 4. 创建项目中的组件(页面) 登录组件 Login.vue 系统主页组件 Main.vue 学生管理组件 StudentList.vue 专业管理组件 MajorList.vue 5. 在index.js中配置组件路由 6. 添加画布 三…