转载请注明出处:

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 :=
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更新结束

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

(原)ubuntu上安装nvidia及torch的nccl的更多相关文章

  1. 【Linux开发】【CUDA开发】Ubuntu上安装NVIDIA显卡驱动

    机型为戴尔Vostro3900  显卡型号为GTX 745  对于Nvidia显卡的驱动,如今很多Linux发行版会默认使用名为nouveau的驱动程序.Nouveau是由第三方为Nvidia开发的一 ...

  2. 在 Ubuntu 上安装 TensorFlow (官方文档的翻译)

    本指南介绍了如何在 Ubuntu 上安装 TensorFlow.这些指令也可能对其他 Linux 变体起作用, 但是我们只在Ubuntu 14.04 或更高版本上测试了(我们只支持)  这些指令. 一 ...

  3. 在Ubuntu上安装Odoo时遇到的问题

    这两天开始看<Odoo快速入门与实践  Python开发ERP指南>(刘金亮 2019年5月第1版 机械工业出版社).试着在Ubuntu上安装Odoo,遇到很多问题,通过在网上查找,都已解 ...

  4. [异常解决] ubuntu上安装JLink驱动遇到的坑及给后来者的建议

    一.前言 最近将整个电脑格式化,改成了linux操作系统 希望这样能让自己在一个新的世界探索技术.提升自己吧- win上的工具用多了,就不想变化了- 继上一篇<ubuntu上安装虚拟机遇到的问题 ...

  5. Ubuntu上安装Robomongo及添加到启动器

    到目前为止,Robomongo仍是MongoDB最好的客户端管理工具,如需在Ubuntu上安装Robomongo,可直接从官网下载.tar.gz压缩包进行解压,然后直接运行bin目录下的robomon ...

  6. 在 Ubuntu 上安装 Android Studio

    在 Ubuntu 上安装 Android Studio http://www.linuxidc.com/Linux/2013-05/84812.htm 打开terminal,输入以下命令 sudo a ...

  7. Ubuntu上安装Karma失败对策

    在Ubuntu上安装Karma遇到超时 timeout 错误.Google了一下,国外的码农给了一个快捷的解决方案,实测可行,贴在这里: sudo apt-get install npm nodejs ...

  8. 在Ubuntu上安装LAMP服务器

    1.安装Ubuntu上安装LAMP apt-get install lamp-server^ 2.安装过程中设置MySql密码 3.测试 创建index.php var/www/html/index. ...

  9. [译]How to Setup Sync Gateway on Ubuntu如何在ubuntu上安装sync-gateway

    参考文章https://hidekiitakura.com/2015/03/21/how-to-setup-sync-gateway-on-ubuntudigitalocean/ 在此对作者表示感谢 ...

随机推荐

  1. Go学习笔记(二):编写 HelloWorld 程序

    //Hello.go代码 package main import "fmt" func main(){ fmt.Printf("Hello, world!This is ...

  2. android单选按钮选择,RadioGroup,radioButton

    android单选按钮选择,RadioGroup,radioButton 14. 四 / android基础 / 没有评论   单选布局绑定 如何识别选择

  3. 数据画图 jpgraph & chart.js

    今天想到要研究下“用图表的形式来呈现数据”这个主题.对比了下两种实现的方法: 方法一:通过php代码在服务器端生成图像,再将图像传回客户端.使用jpGraph类库. 方法二:通过js和html5技术, ...

  4. Google机器学习笔记(七)TF.Learn 手写文字识别

    转载请注明作者:梦里风林 Google Machine Learning Recipes 7 官方中文博客 - 视频地址 Github工程地址 https://github.com/ahangchen ...

  5. 开心菜鸟学习系列学习笔记------------nodejs util公共函数

    global  在最外层定义的变量:    全局对象的属性:    隐式定义的变量(未定义直接赋值的变量).  一.process   process 是一个全局变量,即 global 对象的属性 ...

  6. 在UC浏览器上很炫的一个效果

    效果简述: 这个效果将会强行去除UC浏览器的网址输入框和底部的菜单栏,这样网页将会占据整个手机界面.感觉看起来很像是一个APP. 浏览器界面右下角将会出现一个向上的标志,用来唤出简单的菜单栏. (界面 ...

  7. 地址重写--Java中urlrewriter的使用

    最近公司以前的一个项目需要升级改版,其中的一个模块是使用Struts2做的不需要改动,但是需要将其从之前的项目里面剥离出来,看了看官网,发现所有的链接访问的静态地址,以为是FreeMarker实现的, ...

  8. Linux服务器挂死案例分析

    问题现象: 在linux服务器上运行一个指定的脚本时,就会出现无数个相同进程的,而且不停的产生,杀也杀不掉,最后系统就陷入死循环,无法登陆,只能人工去按机器的电源键才可以.这够崩溃的吧? 问题分析过程 ...

  9. 【PAT L2-001】最短路计数

    给定一个无向带权网络,无负边,无重边和自环,每个顶点有一个正数权值.首先求特定原点s到终点d的最短路的个数:然后求所有最短路中顶点权值a[i]之和最大的那条,输出这条路径. 可用dijkstra算法求 ...

  10. 【HDU1233】还是畅通工程(MST基础题)

    无坑,裸题.直接敲就恩那个AC. #include <iostream> #include <cstring> #include <cstdio> #include ...