Building from source for macOS with cuda 9


#1

So, would it be possible to build MXNET from source for python with CUDA 9 support for macOS?

Reading through the docs it seems to imply that Python is not available when building from source? https://mxnet.incubator.apache.org/get_started/build_from_source.html


Building MXNET 1.0.0 from source for macOS
#2

MXNet is definitely compatible with CUDA 9 (see packages here). I think that documentation page needs to be updated because it only mentions 7.5 and 8 for MacOS, Linux, and Windows.


#3

Yep thanks, seems like it… Although now struggling to compile this from source on a mac even for CPU.

Getting various errors.

/Applications/Xcode8.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: lib/libmxnet.a(cudnn_algoreg.o) has no symbols
/Applications/Xcode8.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: lib/libmxnet.a(cudnn_batch_norm.o) has no symbols
/Applications/Xcode8.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: lib/libmxnet.a(mkl_cppwrapper.o) has no symbols
/Applications/Xcode8.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: lib/libmxnet.a(mkl_memory.o) has no symbols
/Applications/Xcode8.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: lib/libmxnet.a(nnpack_util.o) has no symbols
/Applications/Xcode8.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: lib/libmxnet.a(rtc.o) has no symbols


ld: warning: directory not found for option '-Lenvironment/lib64'
ld: warning: directory not found for option '-Lenvironment/lib'
ld: warning: option -noall_load is obsolete and being ignored
Undefined symbols for architecture x86_64:
  "mxnet::common::random::RandGenerator<mshadow::cpu, mshadow::half::half_t>::kNumRandomStates", referenced from:
      mxnet::op::SamplerCaller<mshadow::cpu, float, mshadow::half::half_t, mxnet::op::UniformSampler<mshadow::cpu>, 2>::op(std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, mxnet::common::random::RandGenerator<mshadow::cpu, mshadow::half::half_t>*, mshadow::Stream<mshadow::cpu>*) in multisample_op.o
      mxnet::op::SamplerCaller<mshadow::cpu, double, mshadow::half::half_t, mxnet::op::UniformSampler<mshadow::cpu>, 2>::op(std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, mxnet::common::random::RandGenerator<mshadow::cpu, mshadow::half::half_t>*, mshadow::Stream<mshadow::cpu>*) in multisample_op.o
      mxnet::op::SamplerCaller<mshadow::cpu, mshadow::half::half_t, mshadow::half::half_t, mxnet::op::UniformSampler<mshadow::cpu>, 2>::op(std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > const&, std::__1::vector<mxnet::TBlob, std::__1::allocator<mxnet::TBlob> > c

#4

This issue has now been fixed and works, https://github.com/apache/incubator-mxnet/issues/9229