cavis/libnd4j/RaspberryPi.md

1.9 KiB

Cross compiling for rapsberry pi and android on linux

bash pi_build.sh using this helper script one can cross build libnd4j and dl4j with arm COMPUTE LIBRARY . it will download cross compiler and arm compute library.

options value description
-a or --arch arm32 cross compiles for pi/linux 32bit
-a or --arch arm64 cross compiles for pi/linux 64bit
-a or --arch android-arm cross compiles for android 32bit
-a or --arch android-arm64 cross compiles for android 64bit
-m or --mvn if provided will build dl4j using maven

example:
bash pi_build.sh --arch android-arm64 --mvn

to change version of the arm COMPUTE LIBRARY modify this line in the script ARMCOMPUTE_TAG=v20.05

old one

Please follow following instructions to build nd4j for raspberry PI:

  1. download cross compilation tools for Raspberry PI

    $ apt-get/yum install git cmake
    (You may substitute any path you prefer instead of $HOME/raspberrypi in the following two steps)
    $ mkdir $HOME/raspberrypi
    $ export RPI_HOME=$HOME/raspberrypi
    $ cd $RPI_HOME
    $ git clone git://github.com/raspberrypi/tools.git
    $ export PATH=$PATH:$RPI_HOME/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin
    
  2. download deeplearning4j:

    $ cd $HOME
    $ git clone https://github.com/eclipse/deeplearning4j.git
    
  3. build libnd4j:

    $ cd deeplearning4j/libnd4j
    $ ./buildnativeoperations.sh -o linux-armhf
    
  4. build nd4j

    $ export LIBND4J_HOME=<pathTond4JNI>
    $ cd $HOME/deeplearning4j/nd4j
    $ mvn clean install -Djavacpp.platform=linux-armhf -Djavacpp.platform.compiler=$HOME/raspberrypi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -DskipTests  -Dmaven.javadoc.skip=true  -pl '!:nd4j-cuda-9.1,!:nd4j-cuda-9.1-platform,!:nd4j-tests'