- Fedora 13
- RedHat Enterprise Linux 4.8
- RedHat Enterprise Linux 5.5
- RedHat Enterprise Linux 6.0
- Ubuntu Linux 10.10
- OpenSUSE 11.2
- SUSE Linux Enterprise Server 11 SP1
下載與安裝 CUDA 4.0
首先從 NVIDIA 網站下載 CUDA Toolkit for Ubuntu Linux 10.10、CUDA Tools SDK 與 GPU Computing SDK code samples。下載完成後先安裝 CUDA Toolkit for Ubuntu Linux 10.10:
chmod +x cudatoolkit_4.0.13_linux_64_ubuntu10.10.run
sudo ./cudatoolkit_4.0.13_linux_64_ubuntu10.10.run
預設是安裝在 /usr/local/cuda 目錄下,建議就依照他的預設路徑安裝,安裝完成後要設定 Library 的 Path,有兩個方式,一種是更改 LD_LIBRARY_PATH 環境變數,但我習慣直接加在 /etc/ld.so.conf.d/ 裡面:
sudo echo "/usr/local/cuda/lib64" > /etc/ld.so.conf.d/cuda-40.conf
sudo echo "/usr/local/cuda/lib" >> /etc/ld.so.conf.d/cuda-40.conf
sudo ldconfig
再設定 PATH:
echo 'export PATH=$PATH:/usr/local/cuda/bin' >> ~/.bashrc
安裝 CUDA Tools SDK:
chmod +x cudatools_4.0.13_linux_64.run
sudo ./cudatools_4.0.13_linux_64.run
預設是安裝在 /usr/local/cuda/CUDAToolsSDK 目錄下。
安裝 GPU Computing SDK code samples:
chmod +x gpucomputingsdk_4.0.13_linux.run
./gpucomputingsdk_4.0.13_linux.run
預設是安裝在自己帳號的 ~/NVIDIA_GPU_Computing_SDK 目錄下,安裝時要設置 CUDA 安裝的路徑:
Enter CUDA install path (default /usr/local/cuda):若 CUDA 都是依照預設路徑安裝,則這裡就不需要更動。
設定 GCC 編譯器
CUDA 4.0 RC2 目前只支援到 gcc 4.4,若是只有裝 gcc 4.5 的話,還要再裝一下 gcc 4.4 才能編譯:sudo apt-get install gcc-4.4
接著要讓編譯時能夠使用 gcc 4.4,一種方式是將系統的 /usr/bin/gcc 改連到 /usr/bin/gcc-4.4,/usr/bin/g++ 也一樣改連到 /usr/bin/g++-4.4,或是使用 update-alternative:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 150
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.5 150
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100
接著使用 update-alternatives 選擇 4.4 版的 gcc:
sudo update-alternatives --config gcc
執行後選擇 gcc-4.4,再接著選擇 4.4 版的 g++:
sudo update-alternatives --config g++
執行後選擇 g++-4.4
若不想修改整個系統的設定,有另一個辦法可以處理,自己建一個 ~/bin 目錄,然後建立 gcc-4.4 與 g++-4.4 的連結,再將這個路徑加入自己的 PATH 中,這樣就不會影響其他的程式:
mkdir ~/bin
ln -s /usr/bin/gcc-4.4 ~/bin/gcc
ln -s /usr/bin/g++-4.4 ~/bin/g++
然後在每次要編譯 CUDA 程式前執行:
export PATH=~/bin:$PATH
這樣就不需要更動到系統其他程式的設定了。
編譯 GPU Computing SDK code samples
接下來要編譯 GPU Computing SDK code samples:cd ~/NVIDIA_GPU_Computing_SDK
make
若是幸運的話,這樣就大公告成了,但通常都會有些問題,像編譯時若是出現類似這樣的問題:
/usr/bin/ld: cannot find -lXi是表示有一些必要的 Library 沒裝,用 apt-cache 找一下再用 apt-get 裝起來就可以了:
/usr/bin/ld: cannot find -lXmu
/usr/bin/ld: cannot find -lglut
collect2: ld returned 1 exit status
apt-get install libxi-dev libxmu-dev libglut3-dev
若出現
/usr/bin/ld: cannot find -lcuda或
collect2: ld returned 1 exit status
/usr/bin/ld: cannot find -lGL是表示找不到 NVIDIA GL 或 CUDA Library,若是您是使用 Ubuntu 內建的驅動程式管理介面安裝的 NVIDIA Driver,則將 /usr/lib/nvidia-current 下面的 so 檔件一個連結到 /usr/lib 下面即可:
collect2: ld returned 1 exit status
sudo ln -s /usr/lib/nvidia-current/libcuda.so /usr/lib/libcuda.so
sudo ln -s /usr/lib/nvidia-current/libGL.so /usr/lib/libGL.so
總之出了錯都會有些錯誤訊息,仔細看看錯誤訊息大概都可以解決的。
感謝版主提供的資訊
回覆刪除不過我遇到以下的問題
https://mydisk.se/web/dbase/1657f84acbcbfa0cab5375e41db33afb.jpg
我安裝的SDK時候,路徑在
/home/gary/NVIDIA_GPU_Computing_SDK
是我安裝錯誤了嗎
佳揚:
回覆刪除請問您的作業系統的版本與安裝 CUDA 的版本分別是哪一版?
作業系統:
回覆刪除ubuntu 11.04 x86_64
Driver:NVIDIA-Linux-x86_64-280.13.run
CUDA Toolkit:
cudatoolkit_4.0.17_linux_64_ubuntu10.10.run
CUDA Computing SDK:
gpucomputingsdk_4.0.17_linux.run
CUDA Tool SDK:
cudatools_4.0.17_linux_64.run
佳揚:
回覆刪除看起來您用的版本都是最新的,我實際測試最新版的情況都可以裝得起來。
您這個情況應該是編譯器的一些設定不太對,可能檢查一下您的 CUDA Toolkit 是裝在 /usr/local/cuda 嗎?安裝 CUDA Computing SDK 時指定的 CUDA 路徑對不對?gcc 版本是不是 4.4?
若有錯誤訊息可以直接把文字訊息貼上來。
已經把CUDA Computing SDK 裝在
回覆刪除/use/local/cuda 底下
CUDA Toolkit 也是裝在 /usr/local/cuda
GCC4.4也已經確認過了沒有錯
還是出現以下狀況
https://mydisk.se/web/dbase/1c3fbea493310ace541252e81d645d7f.jpg
是因為我是安裝Nvidia官網最新的driver
而不是用ubuntu內建顯卡驅動的關係嗎?
CUDA Computing SDK 應該是裝在 ~/NVIDIA_GPU_Computing_SDK 才對,裝在 /usr/local/cuda 會跟 CUDA Toolkit 混在一起,在安裝時要設定 CUDA Toolkit 的安裝路徑。
回覆刪除這個問題應該跟 Driver 沒有太大的關係,單純是編譯時出錯。
~/NVIDIA_GPU_Computing_SDK
回覆刪除是指/usr/local/cuda/NVIDIA_GPU_Computing_SDK 嗎?請說明正確安裝路徑
CUDA Toolkit 的安裝路徑是
預設路徑安裝嗎?
我的 CUDA Toolkit 是安裝在
/usr/local/cuda 沒錯
請問是什麼問題?
~/NVIDIA_GPU_Computing_SDK 是指使用者 HOME 目錄下的 NVIDIA_GPU_Computing_SDK。在 UNIX/Linux 中,~ 是代表使用者自己的 HOME 目錄,例如上面文章中的 cd ~/NVIDIA_GPU_Computing_SDK 是一個真正可以執行的指令,不是隨便寫的。
回覆刪除請問您有將文章中所有的安裝步驟都看過了嗎?
您好:
回覆刪除我是用Fedora14來建置cuda環境,版本是cuda4,按步驟安裝完後,用root執行
nvidia-xconfig -query-gpu-info
nvidia-smi
都可以抓到cuda的裝置
但如果開機直接用"個人使用者"執行以上兩個程式就抓不到cuda裝置,請問要怎樣解決?
但nvcc編譯就沒有這個問題。