1. 程式人生 > >CUDA與PyCUDA開發環境配置詳情

CUDA與PyCUDA開發環境配置詳情

1、安裝CUDA

1.1安裝前工作

1.1.1選取實驗器材

實驗中的計算機裝有雙系統,是在Windows 7 系統環境下的F盤,安裝了一個Ubuntu14.04 64位的作業系統,配置8G記憶體和80G的儲存。計算機配置有GeForce GTX 650顯示卡,擁有384個CUDA核心。

1.1.2安裝前準備

$ lspci | grep -i nvidia

用以下命令驗證有一個支援CUDA的Linux版本,主要是“x86_64”一項,需要是x86架構,64bit系統:

$ uname -m && cat /etc/*release

 用以下命令驗證系統中是否安裝有gcc,Ubuntu14.04預設安裝,沒有的話手動安裝,這個用來編譯CUDA Toolkit:

$ gcc --version

 系統中的核心標頭檔案和開發包需要與系統核心版本保持一致,系統核心版本用以下命令確認:

$ uname –r

Ubuntu下安裝對應核心版本的核心標頭檔案和開發包的命令如下:

$ sudo apt-get install linux-headers-$(uname -r)

以下命令安裝必要的庫檔案:

$ sudo apt-get update

$ sudo apt-get install build-essential

去NVIDIA官網(https://developer.nvidia.com/cuda-downloads)下載最新版本的RUN包,本實驗用到的是cuda_7.5.18_linux.run

,在Ubuntu系統環境下解壓到/home/hadoop/檔案路徑下,解壓命令如下:

$ sudo ./ cuda_7.5.18_linux.run –extract=/home/hadoop/

解壓後在目的資料夾下生成三個檔案,分別為驅動檔案(NVIDIA-Linux-x86_64-352.39.run),CUDA安裝包(cuda-linux64-rel-7.5.18-19867135.run),Samples包(cuda-samples-linux-7.5.18-19867135.run)。

1.2安裝NVIDIA顯示卡驅動

1.2.1刪除原有顯示卡驅動

可以通過以下命令刪除Ubuntu自帶的NVIDIA顯示卡驅動:

$ sudo apt-get remove nvidia*

$ sudo apt-get autoremove

1.2.2禁止其它顯示卡驅動執行

需要將Ubuntu整合的NVIDIA驅動加入黑名單,防止驅動衝突導致後期黑屏。具體地,通過修改/etc/modprobe.d/blacklist.conf檔案:

$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在blacklist-nouveau.conf中寫入

blacklist nouveau

blacklist lbm-nouveau

options nouveau modeset=0

alias nouveau off

alias lbm-nouveau off

儲存並退出,這樣就已經禁止了其它顯示卡驅動。

或者,也可以通過以下兩個命令來禁止顯示卡驅動:

$ echo options nouveau modeset=0 | sudo tee -a/etc/modprobe.d/nouveau-kms.conf

$ sudoupdate-initramfs -u

1.2.3重啟計算機

重啟計算機之後,通過Ctrl+Alt+F1(或者 F2 ~ F6) 切換到命令控制檯,按照命令列提示輸入計算機的使用者名稱和密碼,進入之後,用以下命令關閉桌面服務:

$ sudo stoplightdm

1.2.4安裝驅動

在/home/hadoop/檔案路徑下,對已經解壓好的驅動檔案NVIDIA-Linux-x86_64-352.39.run,設定為可執行許可權,並執行。

$ cd /home/hadoop/

$ sudo chmod +x NVIDIA-Linux-x86_64-352.39.run

$ sudo sh NVIDIA-Linux-*-346.35.run

按照螢幕上的提示執行下去即可,直到顯示安裝成功介面。

1.2.4重啟計算機

執行以下命令儲存新的NVIDIA配置:

$ sudo nvidia-xconfig 

1.2.5驅動重灌

如果安裝失敗,或者更換驅動版本,則需要解除安裝先前驅動,具體地:

重啟計算機,按下Ctrl+Alt+F1(或者 F2 ~ F6) 切換到命令控制檯,關閉桌面服務,將驅動檔案所在目錄定位到當前目錄,通過以下命令解除安裝即可:

$ cd /home/hadoop/

$ sudo sh NVIDIA-Linux-x86_64-352.39.run --uninstall

通過以下操作刪除先前配置的檔案:

$ cd /etc/modprobe.d/

$ sudo rm blacklist-nouveau.conf nouveau-kms.conf

$ sudo update-initramfs –u

這樣就成功解除安裝了安裝的NVIDIA驅動,如果希望重灌,按照上面的步驟再操作即可。可以通過重啟計算機或者以下命令開啟桌面服務:

$ sudo start lightdm

1.3安裝CUDA

1.3.1 安裝操作

在/home/hadoop/檔案路徑下有解壓後的CUDA安裝包cuda-linux64-rel-7.5.18-19867135.run,對它設定為可執行許可權,並執行。

$ cd /home/hadoop/

$ sudo chmod +x cuda-linux64-rel-7.5.18-19867135.run

$ sudo ./cuda-linux64-rel-7.5.18-19867135.run

然後按照提示安裝即可,我們選擇預設的安裝路徑/usr/local/cuda-7.5。

1.3.2修改環境變數

安裝CUDA之後,必須配置正確的環境變數才可以使用。具體地通過編輯~/.bashrc檔案完成。具體操作如下:

$ sudo gedit ~/.bashrc

在~/.bashrc檔案中新增下面內容:

export CUDA_ROOT=$CUDA_ROOT:/usr/local/cuda-7.5

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64/

export PATH=$PATH:/usr/local/cuda-7.5/bin/

通過下面的操作來使得我們修改的環境變數生效:

$ source ~/.bashrc

1.4 安裝CUDA Samples

Samples包中含有許多CUDA示例,可用來驗證CUDA安裝是否已經成功,通過下面的操作來完成Samples的安裝:

$ cd /home/hadoop/

$ sudo chmod +x cuda-samples-linux-7.5.18-19867135.run

$ sudo ./cuda-samples-linux-7.5.18-19867135.run

本實驗中選擇的安裝路徑為預設安裝路徑/usr/local/cuda-7.5/samples。完成後就可以開始編譯Sample檔案。編譯命令如下:

$ cd /usr/local/cuda-7.5/samples

$ sudo make

等待全部編譯工作完成之後,開始進行驗證操作。具體地:

$ cd /usr/local/cuda-7.5/samples/bin/x86_64/linux/release

$ ./deviceQuery

如果出現對應的顯示卡資訊,就說明CUDA安裝成功。

CUDA安裝路徑為/usr/local/cuda-7.5/,samples安裝路徑為/usr/local/cuda-7.5/samples,成功安裝CUDA之後,再開始接下來的步驟。

2、安裝PyCUDA。

2.1確保CUDA已經正確安裝,並可以通過測試。需要設定$CUDA_ROOT為CUDA的安裝路徑,將$CUDA_ROOT/bin設定在$PATH中。

2.2通過以下命令安裝 Boost C++ 庫。

$ sudo apt-get install libboost-all-dev

2.3通過以下操作安裝numpy

$ sudo apt-get install python-numpy

2.4安裝必要的庫操作

$ sudo apt-get install python-dev python-setuptoolslibboost-python-dev libboost-thread-dev -y

2.5在pycuda官網(https://pypi.python.org/pypi/pycuda)下載最新版本的PyCUDA安裝包pycuda-2015.1.3.tar.gz到/usr/local/目錄下,並解壓。

$ cd /usr/local/

$ sudo tar xzvf pycuda-2015.1.3.tar.gz

2.6修改PyCUDA的配置檔案,操作命令如下:

$ cd /usr/local/pycuda-2015.1.3

$ sudo ./configure.py --cuda-root=/usr/local/cuda-7.5 --cudadrv-lib-dir=/usr/lib/x86_64-linux-gnu--boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib--boost-python-libname=boost_python --boost-thread-libname=boost_thread

2.7為避免找不到nvcc的路徑,可以通過下面的命令進行編譯安裝:

   $ sudo env PATH=$PATH make –j 4

   $ sudoenv PATH=$PATH python setup.py install

2.8安裝完成後,可以通過測試pycuda-2015.1裡面的例子來驗證安裝:

   $ cd /usr/local/pycuda-2015.1.3/examples

   $ python demo.py

  如果出現正確的矩陣計算結果,則表示PyCUDA安裝成功。

PyCUDA安裝路徑為/usr/local/pycuda-2015.1.3。

以上為本人經過實踐的良心總結,希望能夠對剛開始研究GPU計算的童鞋們有一些幫助,其中可能有些不足之處,還請見諒,希望和大家互相交流共同進步!微笑