2019-02-19

2019-02-19  本文已影响0人  cp317025

Ubuntu16.04 源码安装MXNet

[参考官方教程](https://mxnet.incubator.apache.org/versions/master/install/build_from_source.html

需要注意cuda版本与NVIDIA驱动版本之间的匹配关系,否则虽然编译成功,但是使用时会出错,参考下图:


2019-02-22 11-01-11屏幕截图.png

cmake编译命令为:

cmake -DUSE_CUDA=1 -DUSE_CUDA_PATH=/usr/local/cuda -DUSE_CUDNN=1 -DUSE_MKLDNN=0 -DBLAS=open -DUSE_CPP_PACKAGE=1 ..

cmake编译时报错:Running GPU detection script with nvcc failed
详细看错误信息发现在执行mxnet/3rdparty/mshadow/cmake/Cuda.cmake这个cmake文件时出了问题,导致无法确定gpu的架构,具体为啥出错不知道,粗暴解决,在这个
Cuda.cmake文件里直接设置GPU的架构信息,加了一行代码:

set(CUDA_ARCH_NAME "Maxwell")

如图第97行:


Screenshot from 2019-02-19 21-47-27.png

重新执行上面的cmake命令。

然后执行:

make -j4

make时要经过漫长的等待,然后就OK了,这时libmxnet.so和libmxnet.a就已经编译成功了

也还可以再执行sudo make install,将上面的库安装到系统目录/usr/local下面
make install 时报错:file INSTALL cannot set permissions on "/usr/local/include/nnvm"
大概原因时nnvm是一个指向3rdparty/tvm/nnvm/include/的连接,在/usr/local/include目录下执行ll命令可以看到:nnvm -> ../3rdparty/tvm/nnvm/include/
但是实际上/usr/local下面并没有3rdparty这个目录,所以可以把mxnet文件夹下的3rdparty文件夹拷贝到/usr/local目录下,或者建立一个它的连接,然后重新执行make install就OK了!

上一篇下一篇

猜你喜欢

热点阅读