Linux离线安装cuda&cudnn以及配置机器其环境打包迁移

本文详细指导了如何在Linux系统上离线安装CUDA和CUDNN,包括下载、路径设置、权限调整、环境配置以及跨平台文件传输,同时介绍了如何使用conda创建和管理虚拟环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cuda安装

cuda版本适配

  • 查看自己电脑所支持的cuda版本号 【若安装超算平台上的cuda toolkit这一步骤可以跳过】
    在这里插入图片描述
  • CUDA toolkit Download官网下载cuda toolkit
    在这里插入图片描述
  • 下载好的.run可执行文件上传到平台进行离线安装
$ cd /上传的目录
$ chmod +x cuda_12.2.2_535.104.05_linux.run  //修改.run文件的权限,替换成自己的文件
$ ./cuda_12.2.2_535.104.05_linux.run
  • 这一块输入accept表明你接受协议,然后回车

在这里插入图片描述

  • 这里只保留cuda toolkit其余的全部取消,**取消的方式是按上下键选中其中的一个之后按一次回车就行**然后选择Options回车

在这里插入图片描述

  • 上下键选择Toolkit Options回车,进去修改相应的安装路径,如果选择默认的会没有安装权限,必须安装到自己的家目录地下,可以使用 mkdir 创建目录,进去之后使用上下键及回车取消其他的存储方式,选择Change Toolkit Install Path回车

在这里插入图片描述

  • 把下图的内容删除之后加入自己在家目录创建的文件夹路径,然后回车

在这里插入图片描述

  • 选择Done完成,之后选择Install进行安装,完成安装的界面如下

在这里插入图片描述

  • 接下来进行环境配置,输入以下命令,这行命令你可以在任意的文件夹路径底下运行
vi ~/.bashrc
  • 在文件的末尾添加这两行
export PATH = "/your cuda install folder/bin:$PATH"
export LD_LIBRARY_PATH="/your cuda install folder/lib64:$LD_LIBRARY_PATH"

linux文件编辑命令如下

vi XXX  //打开并编辑文件
按i进入编辑模式
编辑好文本后按Esc,退出插入状态。
保存退出:输入冒号,输入WQ(write,quit)或X(x==wq)回车,或者按了ESC后,直接按shift+zz,或者切换到大写模式按ZZ
文本没改动退出:Esc+冒号+q
不保存退出:Esc+冒号+q!

在这里插入图片描述

  • 上述操作完成之后,使用以下命令使得环境变量生效
source ~/.bashrc
  • 完成之后使用以下命令测试是否安装成功
nvcc -V

安装成功!

在这里插入图片描述

cudnn安装

  • cudnn官网下载
    注意要下载和cuda适配的版本,如上我装载的是cuda12.2,所以在这人也选择12.2,对于这儿有好多12.2的版本,这个无所谓主要是适配自己的版本即可,我在这儿选择最新的12.2这个版本
    在这里插入图片描述
  • 下面这块内容根据要装载的机器的版本去选择对应的安装包,学校超算是centos,所以我选择linuxX
    86的这个版本,如下所示;
    在这里插入图片描述
  • 之后将下载的安装包上传至学校超算平台,之后进行解压缩处理;解压命令如下,此步不用解压到具体的文件夹,因为后续步骤还要将这个压缩包内的有些内容复制到cuda文件夹下;
tar -zxvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
  • 之后将解压后的文件按照以下命令复制到你的cuda安装路径底下,注意:your_cudnn_route和your_cuda_route 换成你自己的cuda和cudnn路径,后面的文件夹路径是固定的。
cp your_cudnn_route/include/cudnn*  your_cuda_route/include/
cp your_cudnn_route/lib64/libcudnn*  your_cuda_route/lib64/
  • 修改复制的文件的权限
chmod a+r your_cuda_route/include/cudnn*  your_cuda_route/lib64/libcudnn*  # *是因为cudnn文件夹底下的文件都是cudnn和lincudnn开头的
  • 安装完成,删除解压的cudnn下的解压生成的文件夹、以及其他安装程序包。

之后的所有安装都可能多多少少基于conda,所以要先安装Anaconda/minconda环境

  • 超算平台有下载好这个安装包【/storage/public/apps/installpkg/conda】,如果你不想用他的安装包,你也可以自己在官网下载
  • 此处以平台的安装包为例,首先将此安装包复制到自己的家目录底下,并在家目录新建文件夹 soft
cp /storage/public/apps/installpkg/conda/Miniconda3-py310_23.3.1-0-Linux-x86_64.sh /storage/public/home/学号/soft
  • 修改此文件的运行权限
chmod  +x Miniconda3-py310_23.3.1-0-Linux-x86_64.sh
  • 运行安装包程序,回车
./Miniconda3-py310_23.3.1-0-Linux-x86_64.sh
  • 按回车键
    在这里插入图片描述
  • 继续按下回车键,直到出现如下内容在这里插入图片描述
  • 输入yes
    在这里插入图片描述
  • 此时需要选择miniconda的安装路径,此时大家选择默认就行,一般装在自己的家目录底下就行
    option 1:按Enter键直接将其安装至 “/storage/public/home/学号/anaconda3” 路径下;
    option 2:输入要安装的位置的绝对路径,如安装至家目录下的software目录下,可以填:
    “/storage/public/home/学号/xxxx/anaconda3”
    在这里插入图片描述
  • 选择是否初始化conda,就是在其bashrc中添加环境变量,这里面我们选择yes让其自动帮我们配置就行
    在这里插入图片描述
  • 执行 source ~/.bashrc使得环境变量生效;
  • 安装完成
    在这里插入图片描述

cudatoolkit安装

  • cudatoolkit下载路径
  • 激活anaconda中要配置环境的python虚拟环境,此处配置的是新环境,即激活新的虚拟环境。若此环境已在激活状态,则跳过此步骤。如果没有新环境建议新建一个,为后面要进行的环境迁移做准备。因为超算平台没有网络,所以选择离线创建虚拟环境;
conda create --offline -n environment_name python=3.10   # --offline表示离线创建
conda activate environment_name   #conda install安装命令只能将包安装在当前激活的python虚拟环境中 ,所以必须要激活你新建的虚拟环境
  • 安装cudatoolkit
conda install --offline cudatoolkit-10.2.89-hfd86e86_1.tar.bz2
  • 测试安装成功
conda activate environment_name   #激活虚拟环境
  • 进入python解释器,并输入如下代码,测试pytorch、cuda安装成功。
import torch
print(torch.version.cuda)

测试成功在这里插入图片描述

将已有的python环境打包至远程服务器,不需要联网或者配置环境

打包迁移的前提条件

源主机和目标主机必须具有相同的平台和操作系统,即都需要在Linux系统

离线打包工具conda-pack

conda-pack 是一个命令行工具,用于打包 conda 环境,其中包括该环境中安装的软件包的所有二进制文件

  • 工具安装
conda install -c conda-forge conda-pack  #conda
pip install conda-pack  #pypi
  • 本地环境打包,先将路径切换至要打包的env所在位置,使用命令
conda pack -n your_env_name -o env_name.tar.gz --ignore-editable-packages

其中your_env_name是你要打包的环境名称 env_name_tar.gz是你要打包成的文件名,也是你以后的虚拟环境名

注意 --ignore-editable-packages解释一下,如果存在本地安装的环境,或者依赖其他编译的环境 则选择忽略,如果不添加–ignore-editable-packages ,会报错,通常这种情况选择忽略在新的的环境中自己本地安装即可

  • 如果出现,不要慌,这是因为我们平常在装插件时的基槽,为什么,因为我们习惯于pip安装,然后有的包装不上咋就用conda去装,这就导致了有些包conda 和pip的版本都有出现了冲突,所以就有了下面的命令去打包,忽略一切问题,就是一个打包,别的咱啥也不管,就是打包,哈哈哈!包治百病
This is usually due to `pip` uninstalling or clobbering conda managed files,
resulting in an inconsistent environment. Please check your environment for
conda/pip conflicts using `conda list`, and fix the environment by ensuring
only one version of each package is installed (conda preferred).
conda pack -n your_env_name -o env_name.tar.gz --ignore-editable-packages  --ignore-missing-files
  • 以上咱就完成了一面服务器的虚拟环境打包,咱的任务是要部署到学校超算,好我先考到u盘我再用xftp给他传到平台上,不不不,这样你就慢了,考虑到两台机器都是Linux,所以咱可以跨平台远程传输文件啊,对吧,下面命令改成自己的哈,不要复制就去执行哈!
scp env_name.tar.gz remote_username@remote_ip:remote_folder
  • 顺道多插一句哈,怎么把远程主机的文件拉下来,很简单,把上面的语句调个个
scp    remote_username@remote_ip:remote_folder/hhh.tar.gz       /storage/public/apps/installpkg/    #空格看不见,我给他拉大一点
  • 创建一个虚拟环境,其实就是在你的conda环境文件夹中新建一个文件夹
mkdir env_name
  • 将刚才打包好的文件解压到新建好的这个文件夹中
tar -zxvf nnUNet.tar.gz -C /storage/public/home/202322XxX/xxx/env_name
  • 执行 source ~/.bashrc使得环境变量生效;
  • conda activate env_name
    下面就可以正常使用这个虚拟环境辣!后面如果有缺的包,大家可以去下载好对应的whl文件然后上传至超算平台,在使用conda/pip离线安装即可
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值