(原)ubuntu上安裝nvidia及torch的nccl


轉載請注明出處:

http://www.cnblogs.com/darkknightzh/p/5717234.html

參考網址:

https://github.com/NVIDIA/nccl

https://github.com/ngimel/nccl.torch

http://zhidao.baidu.com/link?url=k99LndiVbIM1YAoCoyS1T2MWU-hY8aOtE9NbMPEY2noImKX5aHWcy7Ht600HRATQxIeg_FIIGW-UboWgawcnY_

 

1. 在https://github.com/NVIDIA/nccl中下載nvidia的nccl,並解壓。

2. 將終端cd到該文件夾。

3. 輸入如下命令:

make CUDA_HOME=<cuda install path> test

如:

make CUDA_HOME=</usr/local/CUDA-7.5> test

4. 等待編譯完成后,將下面的加入.profile中

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/XXX/nccl-master/build/lib

5. 更新.bashrc(我這邊沒管用,重啟后就行了)

sourch ~/.bashrc

6. 運行測試程序,成功了。

./build/test/single/all_reduce_test 10000000

說明:官網中說:To install, run make PREFIX=<install dir> install and add <instal dir>/lib to your LD_LIBRARY_PATH.

但是我沒有用這一步,也可以了。。。

http://zhidao.baidu.com/link?url=k99LndiVbIM1YAoCoyS1T2MWU-hY8aOtE9NbMPEY2noImKX5aHWcy7Ht600HRATQxIeg_FIIGW-UboWgawcnY_指出:

不指定prefix,則可執行文件默認放在/usr /local/bin,庫文件默認放在/usr/local/lib,配置文件默認放在/usr/local/etc。其它的資源文件放在/usr /local/share。你要卸載這個程序,要么在原來的make目錄下用一次make uninstall(前提是make文件指定過uninstall),要么去上述目錄里面把相關的文件一個個手工刪掉。
指定prefix,直接刪掉一個文件夾就夠了。

7. 直接使用luarocks install nccl或者在https://github.com/ngimel/nccl.torch中下載工程,並cd到該文件夾,使用luarocks 進行install即可。

 =============================================================================================

180320更新:

今天在使用anaconda並編譯caffe時,出現crtbeginS.o:unrecognized relocation的錯誤。解決方法吐下:

 

1. 修改makefile文件

直接在Makefile最開始增加下面一句話:

CXX := /usr/bin/g++-4.9

之后在終端中直接使用官方的編譯命令即可:

make CUDA_HOME=/usr/local/cuda-8.0

 

方法2:輸入make時增加CXX標志位

https://www.cnblogs.com/sky-heaven/p/6272408.html中指出:

= 是最基本的賦值

:= 是覆蓋之前的值

?= 是如果沒有被賦值過就賦予等號后面的值

+= 是添加等號后面的值

因而考慮直接添加CXX的標志,如下:

make CXX=/usr/bin/g++-4.9 CUDA_HOME=/usr/local/cuda-8.0

 

弱弱的說一下,終端中輸入下面的命令,也可以:

make CXX?=/usr/bin/g++-4.9 CUDA_HOME=/usr/local/cuda-8.0

 

如果要使用nccl,如https://www.cnblogs.com/haiyang21/p/7183413.html中所說,需要Makefile.config中取消注釋USE_NCCL := 1,並將NCCL的include和lib路徑增加到Makefile.config中,具體如下:

USE_NCCL := 1
INCLUDE_DIRS += /path/nccl/build/include
LIBRARY_DIRS += /path/nccl/build/lib

但如果使用的是anaconda,可能會提示找不到某個庫。。。后來決定不使用nccl了,因而沒有繼續深入查找原因。見諒。

安裝nccl及可能碰到的問題見:

http://www.cnblogs.com/darkknightzh/p/5717234.html

http://www.cnblogs.com/darkknightzh/p/6950263.html

180320更新結束

=============================================================================================


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM