CUDA是什么就不介紹了,直接講怎么實現(xiàn)CUDA多版本的共存和實時切換。
1、安裝多個版本的CUDA
這里,我們以cuda9-1版本和cuda9-0版本為例(先安裝哪個無所謂)
首先,在cuda版本庫中選擇自己需要的cuda版本。
然后,選擇對應(yīng)的安裝包,這里選擇runfile類型的安裝文件,以便后面設(shè)置每個cuda的安裝路徑。
下載完成以后,我們利用cd命令,進入到cuda_8.0.61_375.26_linux.run文件所在的目錄中,然后運行下面的指令,進行安裝(注意這個文件名,前面的cuda_8.0.61代表cuda的版本,后面的375.26代表的對應(yīng)的NVIDIA驅(qū)動的版本,這里我用cuda8.0的安裝過程為例,9.0和9.1同理)
安裝過程中在建立軟鏈接時需要注意一下,如果你是第一次安裝cuda,那么毫無疑問輸入y(yes),但是如果你是安裝額外版本的cuda,是否選擇y(yes)就要看你的具體需求而定,簡言之,就是如果你希望啟用當前安裝的cuda版本,就選y,如果你只是想安裝這個版本,而暫時還不想啟用該版本時,就選n。
#先執(zhí)行下面的命令安裝相關(guān)依賴,
#否則會出現(xiàn)`Missing recommended library`錯誤
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
sudo sh cuda_8.0.61_375.26_linux.run #開始安裝
#..一堆協(xié)議說明...
#直接按q退出協(xié)議說明.
zerozone@zerozone: accept/decline/quit: accept #接受協(xié)議
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
y)es/(n)o/(q)uit: n #是否顯卡驅(qū)動包,由于已經(jīng)安裝顯卡驅(qū)動,選擇n
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安裝工具包,選擇y
Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]: #工具包安裝地址,默認回車即可
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y #添加鏈接**注意這個連接,如果你之前安裝過另一個版本的cuda,除非你確定想要用這個新版本的cuda,否則這里就建議選no,因為指定該鏈接后會將cuda指向這個新的版本**
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y #安裝樣例
Enter CUDA Samples Location
[ default is /root ]: #樣例安裝地址默認即可
# ***安裝信息***
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Missing recommended library: libXi.so
Missing recommended library: libXmu.so
#注意,這里出現(xiàn)了Missing recommended library錯誤,
#是因為博主在第一次安裝時,沒有添加最開始的那條安裝相關(guān)依賴的指令,
#之后我添加了依賴后,再次安裝,就沒有Missing錯誤了
Installing the CUDA Samples in /root ...
Copying samples to /root/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /root, but missing recommended libraries
Please make sure that
- PATH includes /usr/local/cuda-8.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run -silent -driver
Logfile is /tmp/cuda_install_6388.log
# ***安裝完成***
配置CUDA相關(guān)環(huán)境變量
修改~/.bashrc文件(或~/.zhsrc) 在文件末尾添加環(huán)境變量
Tensorflow官方安裝歷程要求注意的是:配置PATH和LD_LIBRARY_PATH和CUDA_HOME環(huán)境變量.
vim ~/.bashrc #修改配置文件(如果你用的是zsh,則需要修改 ~/.zshrc文件)
#在文件結(jié)尾處添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
利用同樣的方法下載你想安裝的另一個版本的cuda工具包(注意是runfile類型),在安裝過程中,注意cuda symbol link的選擇(首次安裝,選y,安裝額外的版本,選n)
2、cuda多個版本的切換
在安裝了多個cuda版本后,可以在/usr/local/
目錄下查看自己安裝的cuda版本,如下圖所示:
這里,cuda-9.0和cuda-9.1就是我們安裝的兩個cuda版本了,而cuda是一個軟鏈接,它指向我們指定的cuda版本(注意上面在設(shè)置環(huán)境變量時,使用的是cuda,而不是cuda-9.0和cuda-9.1,這主要是為了方便我們切換cuda版本,可以讓我們不用每次都去該環(huán)境變量的值)
可以使用stat命令查看當前cuda軟鏈接指向的哪個cuda版本,如下所示:
可以看到,文件類型是symbolic link,而指向的目錄正是/usr/local/cuda-9.0
,當我們想使用cuda-9.1版本時,只需要刪除該軟鏈接,然后重新建立指向cuda-9.1版本的軟鏈接即可(注意名稱還是cuda,因為要與bashrc
文件里設(shè)置的保持一致)
sudo rm -rf cuda
sudo ln -s /usr/local/cuda-9.1 /usr/local/cuda
想切換其他版本的cuda,只需要改動建立軟鏈接時cdua的正確路徑即可
到此這篇關(guān)于ubuntu安裝多個版本的CUDA并隨時切換的文章就介紹到這了,更多相關(guān)ubuntu安裝多個版本CUDA內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!