JudgeGirl / Judge-receiver

receive waiting status code & judge them in sandbox with cgroup
GNU General Public License v3.0
12 stars 4 forks source link

Sandbox: CUDA 8 in Ubuntu 14.04 #5

Open morris821028 opened 7 years ago

morris821028 commented 7 years ago

在 CUDA 8.X 的環境下,Ubuntu 14.04 預設路徑為 /usr/local/cuda-8.0,因此很多相關的 binlib 會連結失敗,預設 apt-get install cuda 的版本裝到 /usr/bin/usr/lib 造成運行版本不正確。

morris821028 commented 7 years ago

抓取裝置資訊的部份仰賴驅動程式提供的函式庫,在 375 版本預設安裝位置為 /usr/lib/nvidia-375,若發生找不到資訊,通嘗試跟 libnvidia-fatbainaryloader.so 有關。

因為發生 LD_LIBRARY_PATH 無法正常使用,我決定連到指定路徑如下:

$ sudo ln -s /usr/lib/nvidia-375/libnvidia-fatbinaryloader.so.375.39 /lib/x86_64-linux-gnu/
$ sudo ln -s /usr/lib/nvidia-375/libnvidia-ptxjitcompiler.so.375.39  /lib/x86_64-linux-gnu/
$ sudo ln -s /usr/lib/nvidia-375/libnvidia-compiler.so.375.39 /lib/x86_64-linux-gnu/

更新硬體驅動時,請特別小心上述的版本號

morris821028 commented 7 years ago

我們可以透過全局的環境設定,以達到修改預設的連接路徑

$ sudo vim /etc/bash.bashrc

加入下列幾行

# CUDA

export PATH=$PATH:/usr/local/cuda-8.0/bin
export LD_LIBRARY_PATH=/usr/lib/nvidia-375/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/:$LD_LIBRARY_PATH