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离线安装即可

好文阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。