[解決方案] conda 虚拟环境中 cuda不同版本進行切換(含Linux 和 Windows)

这篇具有很好参考价值的文章主要介绍了[解決方案] conda 虚拟环境中 cuda不同版本進行切換(含Linux 和 Windows)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


[ 前言 ] 切换不同版本 cuda 前提须安装多个版本的 cuda

cuda 安装可参考CUDA的下载与安装,去Nvidia官网下载安装所需的 cuda 版本


[ 基于Windows 下 切换不同版本 cuda ] :

1. 修改系统环境变量方法

可以参看【CUDA】win10切换不同版本的CUDA,此方法适用于长时间更换cuda 版本,若仅需在某个虚拟环境(env)中切换成对应版本,可参照第二点方法

2. 编写脚本切换 cuda 版本

详细可以参看 conda 官方文档 Windows 下设置环境变量

  CmdPrompt 定位到需要切换 cuda 版本的虚拟环境(env)下:

cd C:\ProgramData\Anaconda3\envs\ env # Anaconda 默认安装在C盘此目录下 env:为所需切换cuda版本的虚拟环境
cd /d D:\Anaconda3\envs\ env   #Anaconda 安装在其他位置

  env 下创建存放脚本的文件夹:

mkdir .\etc\conda\activate.d #创建activate.d文件夹
mkdir .\etc\conda\deactivate.d #创建deactivate.d文件夹

   在新创建的两个文件夹中创建 env_vars.bat 脚本文件,将cuda版本添加到临时系统变量中:

(将CUDA_PATH、CUDA_NVVP、CUDA_lib设置为所需cuda下的bin、libnvvp、lib\x64对应绝对路径)

# activate.d\env_vars.bat 
@set CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
@set CUDA_NVVP=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\libnvvp
@set CUDA_lib=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib\x64
@set OLD_PATH=%PATH%
@set PATH=%CUDA_PATH%;%CUDA_NVVP%;%CUDA_lib%;%PATH%;
# deactivate.d\env_vars.bat 
@set PATH=%OLD_PATH%

   此时激活虚拟环境 conda activate env ,运行 nvcc -V 查看版本,即发现cuda版本已经切换, 此方法重启终端后,cuda 环境会恢复至原来版本

若发现激活env时,修改临时系统变量的脚本并未生效,可以在激活后,手动执行脚本即可


[ 基于Linux下 切换不同版本 cuda ] :

1. 修改系统环境变量方法

详细可以参看【CUDA】Linux切换不同版本的CUDA, 此方法适用于长时间更换cuda 版本,若仅需在临时切换成对应版本,可参照第二点方法

   ls /usr/local | grep cuda列出已安装的 CUDA 版本

   vim ~/.bashrc 将要使用的CUDA版本添加到环境变量,将如下内容添加进最后一行

# <version> 须切换的CUDA版本号
export PATH=/usr/local/cuda-<version>/bin${PATH:+:${PATH}} 
export LD_LIBRARY_PATH=/usr/local/cuda<version>/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

   source ~/.bashrc 更新环境变量即可
   此时激活虚拟环境 conda activate env ,运行 nvcc -V 查看版本,即发现cuda版本已经切换

2. 编写脚本切换 cuda 版本

详细可以参考 Phohenecker 写的CUDA版本切换脚本,P神在github上有介绍详细的用法

# switch-cuda.sh 脚本代码如下
#!/usr/bin/env bash

# Copyright (c) 2018 Patrick Hohenecker
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

# author:   Patrick Hohenecker <mail@paho.at>
# version:  2018.1
# date:     May 15, 2018


set -e


# ensure that the script has been sourced rather than just executed
if [[ "${BASH_SOURCE[0]}" = "${0}" ]]; then
    echo "Please use 'source' to execute switch-cuda.sh!"
    exit 1
fi

INSTALL_FOLDER="/usr/local"  # the location to look for CUDA installations at
TARGET_VERSION=${1}          # the target CUDA version to switch to (if provided)

# if no version to switch to has been provided, then just print all available CUDA installations
if [[ -z ${TARGET_VERSION} ]]; then
    echo "The following CUDA installations have been found (in '${INSTALL_FOLDER}'):"
    ls -l "${INSTALL_FOLDER}" | egrep -o "cuda-[0-9]+\\.[0-9]+$" | while read -r line; do
        echo "* ${line}"
    done
    set +e
    return
# otherwise, check whether there is an installation of the requested CUDA version
elif [[ ! -d "${INSTALL_FOLDER}/cuda-${TARGET_VERSION}" ]]; then
    echo "No installation of CUDA ${TARGET_VERSION} has been found!"
    set +e
    return
fi

# the path of the installation to use
cuda_path="${INSTALL_FOLDER}/cuda-${TARGET_VERSION}"

# filter out those CUDA entries from the PATH that are not needed anymore
path_elements=(${PATH//:/ })
new_path="${cuda_path}/bin"
for p in "${path_elements[@]}"; do
    if [[ ! ${p} =~ ^${INSTALL_FOLDER}/cuda ]]; then
        new_path="${new_path}:${p}"
    fi
done

# filter out those CUDA entries from the LD_LIBRARY_PATH that are not needed anymore
ld_path_elements=(${LD_LIBRARY_PATH//:/ })
new_ld_path="${cuda_path}/lib64:${cuda_path}/extras/CUPTI/lib64"
for p in "${ld_path_elements[@]}"; do
    if [[ ! ${p} =~ ^${INSTALL_FOLDER}/cuda ]]; then
        new_ld_path="${new_ld_path}:${p}"
    fi
done

# update environment variables
export CUDA_HOME="${cuda_path}"
export CUDA_ROOT="${cuda_path}"
export LD_LIBRARY_PATH="${new_ld_path}"
export PATH="${new_path}"

echo "Switched to CUDA ${TARGET_VERSION}."

set +e
return

   vi switch-cuda.sh 将上述 Phohenecker 编写的脚本内容填入新建文件当中
   source switch-cuda.sh 执行脚本会扫描当前已安装的 cuda版本并显示在终端上
   source switch-cuda.sh version version 为须切换的CUDA版本号,脚本基于export 语句,重启终端后,cuda环境还是会恢复到原先版本文章来源地址https://www.toymoban.com/news/detail-584310.html

到了这里,关于[解決方案] conda 虚拟环境中 cuda不同版本進行切換(含Linux 和 Windows)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【技术分享】Anaconda下载安装、pip切换镜像源、conda切换镜像、conda创建指定Python版本虚拟环境教程

    步骤: 进入Anaconda官网,点击 Download 按钮下载最新的Anaconda版本包。 注意: 在 Download 下方有一段小字,写着 Python 3.9 • 64-Bit Graphical Installer • 688 MB ,说明现在最新的版本是Python3.9,图形化的安装包有688MB,是64位的架构。 【有人疑问说】: 我想下载Python3.8对应的Anaconda,

    2024年02月07日
    浏览(94)
  • Anaconda虚拟环境下更换python版本【不论升版本、降版本都使用conda install python命令】【注意:修改版本后原来使用pip安装的包会被删掉,无法使用】

    使用python -V命令查看当前虚拟环境的python版本: 可知python版本为为3.7.15,现在我想把它升级为3.8。 使用命令: 可知python版本已经变为3.8。 如果在conda install python=3.8中遇到问题,例如: Solving environment: failed with initial frozen solve. Retrying with flexible solve.  则可以先使用:  当当

    2024年02月11日
    浏览(87)
  • PyCharm添加Anaconda中的虚拟环境,Python解释器出现Conda executable is not found(解决方案)

    项目场景: 在使用Anconda配置好虚拟环境后,需要添加到PyCharm中遇到的问题。 作者是在创建新项目的时候,选择conda环境出现Conda executable is not found的错误, 本机Window10系统安装PySpark环境。 作者猜测原因:本机中没有配置全局Anconda环境,识别不出conda.exe文件(本机Anconda安装

    2024年02月05日
    浏览(63)
  • Conda管理Python不同版本教程

    Conda管理Python不同版本教程 目录 0.前提 1.conda常用命令 2.conda设置国内源(以添加清华源为例,阿里云源同样) 3.conda管理python库 4.其它         pyenv管理Python不同版本教程(本人另一篇博客,姊妹篇)         ① anaconda、miniconda(2个的下载仓库链接) 在win上推荐前者,在

    2024年02月21日
    浏览(37)
  • 使用矩池云 Docker 虚拟机安装VNC、Conda、Python及CUDA

    矩池云虚拟机支持 Docker 使用,但是由于虚拟机目前不支持启动时传递环境变量来设置VNC、Jupyterlab 连接密码,所以我们没有创建相关基础镜像(设置固定密码容易泄漏),下面给大家介绍手动安装使用 VNC、Jupyterlab、CUDA等步骤,以便支持使用 OpenGL 等功能的使用,开启更完善

    2024年03月25日
    浏览(44)
  • 怎么用conda下载清华源的pytorch(自带cuda的版本)

    1,添加镜像源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro conda co

    2024年02月09日
    浏览(50)
  • 解决 conda新建虚拟环境只有一个conda-meta文件&conda新建虚拟环境不干净

    像以前一样通过conda 新建虚拟环境时发现环境一团糟,首先新建虚拟环境 这时候activate newenv,通过pip list,会发现有很多很多的包,都是我在其他环境用到的。但诡异的是,来到anaconda下env的目录,却发现newenv下只有一个conda-meta文件。这到底是为啥? 第一个问题,newenv下只有

    2024年01月21日
    浏览(66)
  • 改变conda创建虚拟环境时候的默认路径和拷贝、删除、创建Conda虚拟环境

    conda环境默认安装在用户目录C:Usersusername.condaenvs下,如果选择默认路径,那么之后创建虚拟环境,也是安装在用户目录下。不想占用C盘空间,可以修改conda虚拟环境路径。 首先,找到用户目录下的.condarc文件(C:Usersusername)。 打开.condarc文件之后,添加或修改.condarc 中的

    2024年02月12日
    浏览(48)
  • 【超简易安装】在linux集群服务器上使用conda安装高版本cuda(cuda-11.8)和pytorch2.0

    由于项目代码要求pytorch2.0版本,而pytorch2.0版本需要cuda11.8,高于我之前的11.0的cuda版本。 因此考虑使用conda新建一个虚拟环境,在里面使用高版本的cuda和pytorch。 我使用的是lunix多人集群服务器。集群服务器需要用作业调度系统,也就是bsub命令之后才能提交作业,运行任务。

    2024年03月17日
    浏览(68)
  • 【亲测】ubuntu20.4利用conda安装yoloV8 CUDA(python)环境

    搭建yoloV8之前请确保显卡驱动程序及CUDA环境安装完成并且电脑中已经安装了miniconda3,我们用miniconda来管理yoloV8环境。 安装CUDA+显卡驱动请参照: 【亲测】ubuntu20.4 显卡驱动+CUDA11.8一起安装_Coding_C++的博客-CSDN博客 一、在miniconda创建yoloV8环境 1、在miniconda上先创建一个环境命名

    2024年02月05日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包