非root用戶在服務器上安裝CUDA和cudnn到指定目錄
(適用於服務器上管理員已安裝好顯卡驅動或已安裝的CUDA版本無法滿足自己要求)
准備工作
首先下載CUDA10.1 (無需登錄,一定要下update2,其他版本無法自定義目錄)
https://developer.nvidia.com/cuda-10.1-download-archive-update2
打開網頁后選擇對應自己服務器的處理器和系統版本,格式選runfile(local),這里以Ubuntu 16.04為例
wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
然后下載cudnn,選擇CUDA10.1對應的版本 (需登錄nvidia賬號,無法用wget,我只能采取本地下載上傳到服務器)
https://developer.nvidia.com/rdp/cudnn-download
選擇 “cuDNN Library for Linux”,下載下來是一個tgz的壓縮包。
最后,提前建好cuda的自定義目錄,我這里以當前用戶名的home目錄為例,安裝cuda-10.1:
cd ~
mkdir cuda-10.1
mkdir cuda-10.1/mylib
安裝CUDA:
sh cuda_10.1.243_418.87.00_linux.run
選擇accept 后,更改安裝選項('X' 代表選中,這里我只安裝CUDA Toolkit,一般不搞CUDA編程單跑深度學習就夠了):
┌──────────────────────────────────────────────────────────────────────────────┐
| CUDA Installer │
│ - [ ] Driver │
│ [ ] 418.87.00 │
│ + [X] CUDA Toolkit 10.1 │
│ [ ] CUDA Samples 10.1 │
│ [ ] CUDA Demo Suite 10.1 │
│ [ ] CUDA Documentation 10.1 │
│ Options │
│ Install │
選中Options:
┌──────────────────────────────────────────────────────────────────────────────┐
│ Options │
│ Driver Options │
│ Toolkit Options │
│ Samples Options │
│ Library install path (Blank for system default) │
│ Done │
│ │
先更改Toolkit Options (/usr這種非用戶目錄的都要去掉,我這里全去掉了,另外進入 Change Toolkit Install Path設置cuda安裝到自己具有寫入權限的路徑(提前建好),我這里是“/home/liminghao/cuda-10.1/”):
┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Toolkit │
│ Change Toolkit Install Path │
│ [ ] Create symbolic link from /usr/local/cuda │
│ - [ ] Create desktop menu shortcuts │
│ [ ] Yes │
│ [ ] No │
│ [ ] Install manpage documents to /usr/share/man │
│ Done │
│ │
┌──────────────────────────────────────────────────────────────────────────────┐
│ Change Toolkit Install Path │
│ /home/liminghao/cuda-10.1/ │
│ │
做完Done,回到Options菜單, 更改Library install path (不改不行,它會偷偷寫入/var/lib)
┌──────────────────────────────────────────────────────────────────────────────┐
│ Library install path (Blank for system default) │
│ /home/liminghao/cuda-10.1/mylib/ │
上述兩個自定義的目錄最好提前自己手動建好。安裝成功后,會出個summary。
更改環境變量:
vim ~/.profile
在尾部添加(經評論指正,將cuda的各種庫目錄添加到環境變量):
# CUDA
export PATH="/home/liminghao/cuda-10.1/bin:$PATH"
export LD_LIBRARY_PATH="/home/liminghao/cuda-10.1/lib64:/home/liminghao/cuda-10.1/mylib/lib64:$LD_LIBRARY_PATH"
刷新環境變量:
source ~/.profile
測試CUDA:
nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
安裝cudnn
具體目錄需要根據情況修改,我這里CUDA安裝到了 ~/cuda-10.1 內
tar -zxvf cudnn.tgz
cd cuda # 此處進入cudnn解壓的目錄
cp ./include/cudnn.h ~/cuda-10.1/include
cp ./lib64/libcudnn* ~/cuda-10.1/lib64
chmod a+r ~/cuda-10.1/include/cudnn.h ~/cuda-10.1/lib64/libcudnn*
查看cudnn版本:
cat ~/cuda-10.1/include/cudnn.h | grep CUDNN_MAJOR -A 2
結果:
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
