ubuntu多版本cuda如何指定cuda版本

在这里插入图片描述

本文作者: slience_me


ubuntu多版本cuda如何指定cuda版本

文章目录

  • ubuntu多版本cuda如何指定cuda版本
    • 1. 关于cuda设置
      • 1.1 查看当前安装的 CUDA 版本
      • 1.2 下载并安装所需的 CUDA 版本
      • 1.3 设置环境变量
      • 1.4 验证切换
      • 1.5 安装对应的 NVIDIA 驱动程序
    • 2. 设置环境变量
      • 2.1 打开终端
      • 2.2 编辑 `~/.bashrc` 或 `~/.zshrc`
      • 2.3 添加环境变量
      • 2.4 保存并退出
      • 2.5 使更改生效
      • 2.6 验证更改

1. 关于cuda设置

在 Ubuntu 系统上选择和管理 CUDA 的多个版本可以通过以下步骤进行:

1.1 查看当前安装的 CUDA 版本

你可以通过以下命令查看当前安装的 CUDA 版本:

nvcc --version

1.2 下载并安装所需的 CUDA 版本

你可以从 NVIDIA CUDA Toolkit 下载页面 下载你需要的 CUDA 版本。选择你的操作系统(Linux)、架构(x86_64)、发行版(Ubuntu)和版本,然后按照提示下载并安装。

1.3 设置环境变量

每个 CUDA 版本都会安装在不同的目录中,例如 /usr/local/cuda-10.1, /usr/local/cuda-10.2 等。你可以通过设置环境变量 CUDA_HOME 和修改 PATH 来切换不同的 CUDA 版本。

以下是一个示例脚本,可以根据你需要的 CUDA 版本进行修改:

# 切换到 CUDA 10.1
export CUDA_HOME=/usr/local/cuda-10.1
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH# 切换到 CUDA 10.2
# export CUDA_HOME=/usr/local/cuda-10.2
# export PATH=$CUDA_HOME/bin:$PATH
# export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

你可以将这个脚本添加到你的 ~/.bashrc~/.zshrc 文件中,或者每次需要切换 CUDA 版本时手动运行这个脚本。

1.4 验证切换

切换 CUDA 版本后,可以运行以下命令来验证切换是否成功:

nvcc --version

这个命令将显示当前使用的 CUDA 版本。

1.5 安装对应的 NVIDIA 驱动程序

确保你安装了与所需 CUDA 版本兼容的 NVIDIA 驱动程序。如果需要更新或切换驱动程序,可以使用以下命令:

sudo ubuntu-drivers devices
sudo ubuntu-drivers autoinstall

或者你也可以从 NVIDIA 驱动程序下载页面 手动下载并安装所需的驱动程序。

通过以上步骤,你可以在 Ubuntu 系统上管理和切换多个 CUDA 版本。

2. 设置环境变量

在 Ubuntu 上修改环境变量可以通过编辑 ~/.bashrc~/.zshrc 文件来实现,具体取决于你使用的是 Bash 还是 Zsh。以下是详细步骤:

2.1 打开终端

2.2 编辑 ~/.bashrc~/.zshrc

如果你使用的是 Bash,编辑 ~/.bashrc 文件:

nano ~/.bashrc

如果你使用的是 Zsh,编辑 ~/.zshrc 文件:

nano ~/.zshrc

2.3 添加环境变量

在文件末尾添加以下行来设置 CUDA 环境变量。例如,假设你有两个 CUDA 版本:10.1 和 10.2,你可以按以下方式添加:

# 设置 CUDA 10.1 环境变量
export CUDA_HOME=/usr/local/cuda-10.1
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

如果你需要切换到 CUDA 10.2,则可以将上述代码注释掉,并添加如下代码:

# 设置 CUDA 10.2 环境变量
# export CUDA_HOME=/usr/local/cuda-10.1
# export PATH=$CUDA_HOME/bin:$PATH
# export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATHexport CUDA_HOME=/usr/local/cuda-10.2
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

你也可以使用条件语句来更灵活地切换 CUDA 版本:

# 根据需要选择 CUDA 版本
if [ "$CUDA_VERSION" == "10.1" ]; thenexport CUDA_HOME=/usr/local/cuda-10.1
elif [ "$CUDA_VERSION" == "10.2" ]; thenexport CUDA_HOME=/usr/local/cuda-10.2
fi
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

然后在需要切换版本时设置 CUDA_VERSION 环境变量,例如:

export CUDA_VERSION=10.1
source ~/.bashrc  # 或者 source ~/.zshrc

2.4 保存并退出

编辑完成后,按 Ctrl+O 保存文件,然后按 Ctrl+X 退出编辑器。

2.5 使更改生效

运行以下命令使更改生效:

source ~/.bashrc  # 如果使用的是 Bash
source ~/.zshrc   # 如果使用的是 Zsh

2.6 验证更改

可以通过以下命令验证环境变量是否设置正确:

echo $CUDA_HOME
nvcc --version

通过这些步骤,你可以方便地修改和管理环境变量,以切换不同的 CUDA 版本。

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

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

相关文章

提取url中的参数

let url https://alibaba.com?a1&b2&c3#hash function queryUrlParams(URL){let url URL.split(?)[1];const urlSearchParams new URLSearchParams(url);console.log(url1, urlSearchParams);console.log(entries,urlSearchParams.entries())const params Object…

.hmallox勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言: 在当今数字化时代,勒索病毒已经成为网络安全的一大威胁,其中包括了最近出现的.hmallox勒索病毒。这类恶意软件不仅能够对计算机系统进行加密,还会要求用户支付赎金以换取解密密钥,给个人用户和企业带来了严重的…

HTTP详解

目录 1.定义 2.工作流程 3.Fiddler 3.1 使用 3.2 工作原理 4.URL 5.请求和响应 5.1 请求 5.2 响应 6.GET和POST 6.1 经典面试题:GET和POST的区别 6.2 GET 6.3 POST 7.请求报头(Header) 7.1 HOST 7.2 Content-Length 7.3 …

说一说ABAP CDS View的发展历史与特性

1. 背景 随着SAP Fiori应用程序的兴起,SAP领域的小伙伴接触和使用ABAP CDS View的机会也是越来越多。今天,让我们花些时间,一起在了解下这项技术的设计初衷和发展历史。 2. 设计初衷 说起ABAP CDS View,就不得不提及SAP HANA。…

指针并不是用来存储数据的,而是用来存储数据在内存中地址(内存操作/函数指针/指针函数)

推荐:1、4、5号书籍 1. 基本概念 首先,让小明了解指针的基本概念: 指针的定义:指针是一个变量,它存储的是另一个变量的地址。指针的声明:例如,int *p表示一个指向整数的指针变量p。 2. 形象…

编程入门指南

一、了解编程与编程语言 编程:编程是使计算机按照人类编写的指令进行工作的过程。这些指令被编写成计算机可以理解的代码,称为程序。编程语言:编程语言是人与计算机交流的工具。常见的编程语言有Python、Java、C、JavaScript等。 二、选择编…

docker换源

文章目录 前言1. 查找可用的镜像源2. 配置 Docker 镜像源3. 重启 Docker 服务4. 查看dock info是否修改成功5. 验证镜像源是否更换成功注意事项 前言 在pull镜像时遇到如下报错: ┌──(root㉿kali)-[/home/longl] └─# docker pull hello-world Using default …

ADC位数、增益调制与参考电压

位数:12bit、10bit、8bit 一般就是对应的ADC值分别为:4095、1023、255,也就选用对应位数时ADC的最大值。 增益的作用 增益设置用于放大或缩小输入信号,使其适配到ADC的输入范围。增益设置可以通过配置SAADC的通道配置寄存器来实…

mysql数据库切换成kingbase(人大金仓)数据库时遇到的字段不存在问题

一、问题描述 mysql数据库切换成国产数据库人大金仓(kingbase)数据库的遇到的字段不存在的问题,根本原因其实是没有找到相对应的表,报错示例如下图所示: 二、问题解决 1、如果所有的表都发生上述的错误,kingbase的…

Markdown的使用

这里写自定义目录标题 欢迎使用Markdown新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个注脚注…

【系统架构设计师】计算机组成与体系结构 ③ ( 层次化存储结构 | 寄存器 | 高速缓存 | 内存 | 外存 )

文章目录 一、层次化存储结构1、层次化存储结构2、层次化存储结构 - 示例说明3、程序员可操作的部分 计算机 采用 分级存储结构 , 主要目的是 为了 解决 容量 / 价格 / 速度 之间的矛盾 ; 一、层次化存储结构 1、层次化存储结构 计算机 存储器 按照存储速度 由快到慢 进行排序 …

SpringCloud Alibaba Sentinel规则持久化实践总结

默认情况下&#xff0c;一旦我们重启应用&#xff0c;sentinel规则将消失&#xff0c;生产环境需要将配置规则进行持久化。这里我们实践将Sentinel持久化到Nacos中。 ① pom依赖 我们引入sentinel-datasource-nacos&#xff1a; <dependency><groupId>com.aliba…

关于0xc000007b的一种解决方案

今天我在安装qview并运行时时&#xff0c;遇到了这个问题。 我在网上查找了许多解决方案&#xff0c;但它们大多都说是某些dll缺失或错误引起的。 这些说法应该是正确的&#xff0c;但我用了dll修复工具后&#xff0c;一点用都没有。 后来捣鼓半天后&#xff0c;我发现很可能…

SAP PP学习笔记22 - 生产订单(制造指图)的元素1

前面几章讲了PP 里面生产计划的各种策略以及策略的Customize。 SAP PP学习笔记20 - 复习总结一下MTS&#xff0c;MTO&#xff0c;ATO的各种生产策略-CSDN博客 SAP PP学习笔记21 - 计划策略的Customize&#xff1a;策略组 &#xff1e; 策略 &#xff1e; 需求类型 &#xff1…

Studying-代码随想录训练营day22| 回溯理论基础、77.组合、216.组合总和II、17.电话号码的字母组合

第22天&#xff0c;回溯章节开始&#xff01;一大算法难点&#xff0c;加油加油&#xff01; 回溯理论基础组合问题的剪枝操作 文档讲解&#xff1a;代码随想录回溯理论基础 视频讲解&#xff1a;回溯理论基础 回溯法也叫回溯搜索法&#xff0c;它是一种搜索&#xff0c;遍历的…

Shell 编程入门

优质博文&#xff1a;IT-BLOG-CN 【1】x.sh文件内容编写&#xff1a; 固定开头&#xff1a;#&#xff01;/bin/sh&#xff1b; 【2】学习的第一个命令就是echo输出的意思&#xff1b; 【3】其实shell脚本也就是在文件中写命令&#xff0c;但是我们要写的是绝对路径&#xff1a…

鸿蒙开发设备管理:【@ohos.batteryInfo (电量信息)】

电量信息 该模块主要提供电池状态和充放电状态的查询接口。 说明&#xff1a; 本模块首批接口从API version 6开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import batteryInfo from ohos.batteryInfo;属性 描述电池信息。 系统能…

php基础语法_面向对象

PHP php代码标记 多种标记来区分php脚本 ASP标记&#xff1a;<% php代码 %> 短标记&#xff1a; 脚本标记: 标准标记&#xff08;常用&#xff09;&#xff1a; 简写风格&#xff1a; ASP风格&#xff1a;<% php代码 %> 注意&#xff1a;简写风格和ASP风格…

web前端——HTML

目录 一、HTML概述 1.HTML是什么&#xff1f; 2.HTML具体化解释 二、HTML基本语法 1.声明 2. Head头标签 3.body身体标签 4.一个html的基本结构 5.标签 6.标签属性 ①属性的格式 ②属性的位置 ③添加多个属性 三、基本常用标签 1.超链接 2.图像标签 ①图像标…

SAP ALV 负号提前

FUNCTION CONVERSION_EXIT_ZSIGN_OUTPUT. *"---------------------------------------------------------------------- *"*"本地接口&#xff1a; *" IMPORTING *" REFERENCE(INPUT) *" EXPORTING *" REFERENCE(OUTPUT) *"…