一带族、對某用戶指定特定版本 cuda
-
查看
/usr/local
下的已有的 cuda 版本xxxxxxx@xx: ls /usr/local/cuda* /usr/local/cuda-10.1: bin cuda-9.2 EULA.txt include libnsight nsight-compute-2019.4.0 nsight-systems-2019.3.7.5 nvvm share targets version.txt cuda-10.1 doc extras lib64 libnvvp nsightee_plugins nvml samples src tools /usr/local/cuda-9.0: bin doc extras include jre lib64 libnsight libnvvp nsightee_plugins nvml nvvm pkgconfig samples share src tools version.txt /usr/local/cuda-9.2: bin cuda-9.0 cuda9.0 doc extras include jre lib64 libnsight libnvvp nsightee_plugins nvml nvvm pkgconfig samples share src tools version.txt
-
在該用戶的
~/.bashrc
中添加/修改環(huán)境變量衙荐,以使用cuda-10.1
為例:export PATH=$PATH:/usr/local/cuda-10.1/bin export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH export LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LIBRARY_PATH
二、多版本 cuda 切換
-
更改用戶的
~/.bashrc
中的環(huán)境變量拓瞪,以使用cuda
代替cuda-10.1
:export PATH=$PATH:/usr/local/cuda/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
-
將
/usr/local/cuda
軟鏈到某一個(gè)版本的 cuda枝誊,以cuda-10.1
為例:sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda
-
以上命令運(yùn)行之后顽聂,用戶的 cuda 版本就被設(shè)定為了 10.1, 如果要更改版本逻淌,則必須先刪除舊的軟鏈接么伯,然后重新鏈接
# 如果要修改 `/usr/local/cudaa` 的鏈接,必須先刪除卡儒,再重新鏈接 sudo rm -rf cuda sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda
-
來源
三箭券、cuda版本隨conda環(huán)境自動(dòng)變化
假設(shè)此時(shí)服務(wù)器上安裝了兩個(gè)CUDA版本邪意,分別為CUDA 8.0(/usr/local/cuda-8.0)和CUDA 9.0(/usr/local/cuda-9.0)力崇,并且在本機(jī)上配置了一個(gè)版本(例如8.0)的環(huán)境變量($CUDA_HOME, $LD_LIBRARY_PATH)爸黄。沒配置更好,這里配置是為了驗(yàn)證切換虛擬環(huán)境時(shí)指定的CUDA版本是否發(fā)生相應(yīng)的改變擎鸠。假設(shè)虛擬環(huán)境的路徑為 /home/username/.conda/envs/cuda_test
摆屯。
總體方法為設(shè)定啟動(dòng)虛擬環(huán)境以及退出時(shí)需要執(zhí)行的腳本,為了使虛擬環(huán)境啟動(dòng)時(shí)環(huán)境變量不同于本機(jī)環(huán)境糠亩,退出時(shí)又恢復(fù)為本機(jī)環(huán)境。步驟如下:
- 創(chuàng)建啟動(dòng)虛擬環(huán)境以及退出時(shí)需要執(zhí)行的腳本
mkdir -p /home/username/.conda/envs/cuda_test/etc/conda/activate.d mkdir -p /home/username/.conda/envs/cuda_test/etc/conda/deactivate.d
- 編輯啟動(dòng)腳本
輸入以下內(nèi)容vim /home/username/.conda/envs/cuda_test/etc/conda/activate.d/activate.sh
ORIGINAL_PATH=$PATH ORIGINAL_CUDA_HOME=$CUDA_HOME ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH export CUDA_HOME=/usr/local/cuda-9.0 export PATH=$CUDA_HOME/bin:$PATH export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
- 添加執(zhí)行權(quán)限
chmod +x /home/username/.conda/envs/cuda_test/etc/conda/activate.d/activate.sh
- 編輯退出腳本 vim
輸入以下內(nèi)容vim /home/username/.conda/envs/cuda_test/etc/conda/deactivate.d/deactivate.sh
export PATH=$ORIGINAL_PATH export CUDA_HOME=$ORIGINAL_CUDA_HOME export LD_LIBRARY_PATH=$ORIGINAL_LD_LIBRARY_PATH unset ORIGINAL_PATH unset ORIGINAL_CUDA_HOME unset ORIGINAL_LD_LIBRARY_PATH
- 添加執(zhí)行權(quán)限
chmod +x /home/username/.conda/envs/cuda_test/etc/conda/deactivate.d/deactivate.sh
- 來源:https://bluesmilery.github.io/blogs/a687003b/#CUDA%E5%AE%89%E8%A3%85