由于一些代码实现(cuda写的外部扩展包)对cuda版本要求比较高,因此,我在实验室linux系统下默认的cuda版本上,没办法编译扩展包。需要重新安装特定版本的cuda。
一. 首先,需要查看系统版本:
lsb_release -a
显示:
二. 去官网找到下载cuda toolkit的指令。
CUDA Toolkit Archive | NVIDIA Developer
依次选择,得到对应的版本。执行以下命令:不带sudo执行。
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run
等待一会后,输入accept,显示:
把x全部取消,只选择cuda toolkit。下一步要选择Options>>Toolkit Options>>change Toolkit Install Path>>将这里的默认改为自己在服务器上的路径文件夹。/home/songjiuman/cuda-10.2
回到上一步,全部取消,选择Done,然后Install。
出现错误,安装不上,修改安装命令如下:
sh cuda_10.2.89_440.33.01_linux.run --librarypath=/home/songjiuman/cuda-10.2
显示:
三. 去官网找到下载cudnn。
cuDNN Archive | NVIDIA Developer
下载后解压:
tar -xvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
然后将cudnn的一些文件复制到 cuda的路径当中:
cp cuda/include/cudnn.h your_path/include/ #这里的your_path是安装cuda的绝对路径;默认为在这个文件夹下操作
例如cp cuda/include/cudnn.h /home/songjiuman/cuda-10.2/include/
cp cuda/lib64/libcudnn* your_path/lib64/
chmod a+r your_path/include/cudnn.h
chmod a+r your_path/lib64/libcudnn*
四. 修改环境变量。
vim ~/.bashrc
export PATH=/home/songjiuman/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/home/songjiuman/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/home/songjiuman/cuda-10.2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/songjiuman/cuda-10.2/lib64
export LD_LIBRARY_PATH=/home/songjiuman/cuda-10.2/extras/CUPTI/lib64:$LD_LIBRARY_PATH
激活环境变量:
source ~/.bashrc
echo $CUDA_HOME
检查版本:
五:安装pytorch
Previous PyTorch Versions | PyTorch
创建一个虚拟环境:conda create -n xxx python=3.7
激活这个虚拟环境:conda activate xxx
# CUDA 10.2
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.2 -c pytorch
安装完成后,进入python环境,检查CUDA是否可用,调用torch.cuda.is_available()
返回True
说明CUDA环境可用。