之前一直在Windows系統下使用Anaconda和CUDA加速,最近需要復現一個算法,文檔里面有Linux系統conda構建環境的教程。
本篇博文參考博文,記錄自己安裝的過程,便于以后需要。
目錄
- 1.Anaconda
- 1.1 安裝包下載
- 1.2 安裝軟件
- 1.3 更新conda配置
- 解決:更新conda失敗
- 1.4 創建Anaconda桌面快捷方式
- 2.CUDA
- 2.1 確認安裝版本
- 2.2 安裝過程
- 2.3 配置環境變量
- 3.CUDNN
- 3.1 下載安裝包
- 3.2 安裝CUDNN
- 3.3 驗證是否安裝成功
- 系統
Linux 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 19:18:46 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
1.Anaconda
1.1 安裝包下載
- 安裝包下載,這里我下載的是
Anaconda3-2023.09-0-Linux-x86_64.sh
官網:https://www.anaconda.com/download
如果速度慢可以去鏡像網站下載:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
1.2 安裝軟件
- 進入存放下載好文件的文件夾,終端輸入:
bash Anaconda3-2023.09-0-Linux-x86_64.sh
- 一直按回車,直到出現如下頁面
Do you accept the license terms
,再輸入 yes
- 之后再按回車,會確認Anaconda的安裝路徑,注意看下路徑是否正確,輸入 yes
- 然后會確認是否需要寫入環境變量,輸入 yes
- 最后會提示安裝成功
1.3 更新conda配置
- 重新打開一個終端,輸入:
source ~/.bashrc
conda update --all
解決:更新conda失敗
- PS:如果上面的指令執行沒有報錯這步直接跳過。
如果conda update --all
失敗了,需要換源,可以先看下當前有哪些源
# 顯示當前配置的所有源(channels)
conda config --show channels
將更新失敗的源移除,并添加新的源,比如:
$ conda config --show channels
channels:- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/- https://pypi.douban.com/anaconda/cloud/conda-forge/- defaults# 上面這個douban源總是超時失敗,可以移除
conda config --remove https://pypi.douban.com/anaconda/cloud/conda-forge/# 添加一個新的源
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/# 顯示當前配置的所有源(channels)
$ conda config --show channels
channels:- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- defaults
1.4 創建Anaconda桌面快捷方式
- 創建
anaconda.desktop
sudo gedit /usr/share/applications/anaconda.desktop
- 將以下配置復制到打開的
anaconda.desktop
文件中
PS:注意Exec(一般是anaconda3文件夾bin目錄下)和Icon(桌面圖標)需要填當前設備上的anaconda位置。
[Desktop Entry]
Name=Anaconda
Type=Application
Exec=/home/zzw/anaconda3/bin/anaconda-navigator
Icon=/home/zzw/anaconda3/pkgs/anaconda-navigator-2.5.0-py311h06a4308_0/lib/python3.11/site-packages/anaconda_navigator/static/images/anaconda-icon-256x256.png
Terminal=false
Categories=development;
StartupNotify=true
- 保存文件后就可以看到Anaconda的快捷方式
2.CUDA
2.1 確認安裝版本
- 首先查看自己設備可支持的最高CUDA版本,終端輸入:
可以看到最高是12.2版本,由于復現的算法中用到的CUDA版本是11.8,為了保持一致防止出現別的奇形怪狀bug,這里我安裝的也是CUDA11.8
$ nvidia-smiSun Feb 23 21:06:35 2025
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 3060 ... Off | 00000000:01:00.0 Off | N/A |
| N/A 56C P0 N/A / 115W | 8MiB / 6144MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------++---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 3542 G /usr/lib/xorg/Xorg 4MiB |
+---------------------------------------------------------------------------------------+
2.2 安裝過程
- 去Pytorch官網查看安裝指令:https://pytorch.org/
(由于沒有提供conda的安裝方式,這里選擇用pip安裝)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
- 下載CUDA,官網:https://developer.nvidia.com/cuda-toolkit-archive,這里選擇11.8
- 打開終端,按下面輸入
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.runsudo
sh cuda_11.8.0_520.61.05_linux.run
- 安裝過程
出現這個頁面,選擇 continue
出現這個頁面,輸入 accept
出現這個頁面,在Driver處按空格鍵取消選中(因為已經有顯卡驅動了),然后下移到install,按回車鍵
- 安裝完成
2.3 配置環境變量
sudo gedit ~/.bashrc
- 在最后添加如下兩行并保存:(注意CUDA版本)
export PATH=/usr/local/cuda-11.8/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:${LD_LIBRARY_PATH}
- 更新配置,查看是否安裝成功
$ source ~/.bashrc
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
3.CUDNN
3.1 下載安裝包
- CUDNN官網:https://developer.nvidia.com/rdp/cudnn-archive
- 這里我選擇的是8.7.0
3.2 安裝CUDNN
- 下載完成后,找到cudnn所在文件夾,打開終端,安裝
zliblg
,輸入
sudo apt-get install zlib1g
- 安裝cudnn
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.7.0.84_1.0-1_amd64.debsudo cp /var/cudnn-local-repo-ubuntu2204-8.7.0.84/cudnn-local-BF23AD8A-keyring.gpg /usr/share/keyrings/sudo apt-get update# 先查看里面libcudnn8文件對應的版本是什么,手動更改相對應的版本即可
cd /var/cudnn*
比如我下面這個顯示的版本是libcudnn8=8.7.0.84-1+cuda11.8
sudo apt-get install libcudnn8=8.7.0.84-1+cuda11.8
sudo apt-get install libcudnn8-dev=8.7.0.84-1+cuda11.8
sudo apt-get install libcudnn8-samples=8.7.0.84-1+cuda11.8
3.3 驗證是否安裝成功
- 拷貝CUDNN的一個示例,編譯看下是否可以正常運行
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
- 上面報錯了,安裝
libfreeimage3
libfreeimage-dev
‘
sudo apt-get install libfreeimage3 libfreeimage-dev
- 重新編譯后(make clean && make)不再報錯,輸入
./mnistCUDNN
成功完成安裝cudnn