Compiling neon (NervanaSystems) deep learning library source

screen-shot-2016-11-29-at-9-22-52-pm

Nervana Systems have Neon which  is an open source Python-based language and set of libraries for developing deep learning models. Neon is super fast, super powerful, and super easy to use!

github: https://github.com/NervanaSystems/neon

I tried building this source on my machine as below:

  • OS: Ubuntu 16.04
  • GPU: CUDA 8.0
  • NVDIA SMI – 375.20

Build Source:

  • $ git clone https://github.com/NervanaSystems/neon
  • $ cd neon
  • $ make

How to run:

  • $ pwd
    • Note: Make sure you are in the neon folder
  • neon$ . .venv/bin/activate
    • This will open python virtualenv session for you
    • You can run jupyter notebook here as
      • $ jupyter notebook
  • To close active neon session in virtualenv do the following:
    • neon$ deactivate

Here are few problems I had along with their solution:

PROBLEM [1]

c++: error: unrecognized command line option ‘-Wdate-time’
c++: error: unrecognized command line option ‘-fstack-protector-strong’
c++: error: unrecognized command line option ‘-Wdate-time’
c++: error: unrecognized command line option ‘-fstack-protector-strong’
error: command ‘c++’ failed with exit status 1


Command “/home/avkash/toolkit/neon/.venv2/bin/python2.7 -u -c “import setuptools, tokenize;file=’/tmp/pip-build-P52OJy/pycuda/setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” install –record /tmp/pip-71rowS-record/install-record.txt –single-version-externally-managed –compile –install-headers /home/avkash/toolkit/neon/.venv2/include/site/python2.7/pycuda” failed with error code 1 in /tmp/pip-build-P52OJy/pycuda/
Makefile:116: recipe for target ‘.venv2/bin/activate’ failed
make: *** [.venv2/bin/activate] Error 1

SOLUTION:

  • You would need to change gcc/g++ to  5.0 or above

PROBLEM [2]

unable to execute ‘clang++’: No such file or directory
unable to execute ‘clang++’: No such file or directory
unable to execute ‘clang++’: No such file or directory


Command “/home/avkash/toolkit/neon/.venv2/bin/python2.7 -u -c “import setuptools, tokenize;file=’/tmp/pip-U3oScE-build/setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” install –record /tmp/pip-le8M0S-record/install-record.txt –single-version-externally-managed –compile –install-headers /home/avkash/toolkit/neon/.venv2/include/site/python2.7/nervana-aeon” failed with error code 1 in /tmp/pip-U3oScE-build/
Makefile:157: recipe for target ‘aeon_install’ failed

SOLUTION:

You would need to install clang to solve this problem as below:
$ sudo apt-get install clang

PROBLEM [3]:

loader/src/util.hpp:24:10: fatal error: ‘sox.h’ file not found
#include <sox.h>

Solution:

You would need to install sox libraries as below:

  • $ sudo apt-get install libsox-fmt-all libsox-dev sox

Successful Build:

neon$ make

Installed /home/avkash/toolkit/neon
Processing dependencies for neon==1.7.0
Finished processing dependencies for neon==1.7.0

…..
make[1]: Entering directory ‘/home/avkash/toolkit/neon/loader’
make[1]: ‘bin/loader.so’ is up to date.
make[1]: Leaving directory ‘/home/avkash/toolkit/neon/loader’

Have fun!!!

 

Advertisements