Latest commit 3b36217 Oct 14, 2017 @larroy larroy committed with piiswrong Multiplatform docker based builds (#7792)
* Add dockerized multi-architecture build files

* Add android arm64 build
Permalink
..
Failed to load latest commit information.
.gitignore Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.build.android.arm64 Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.build.android.armv7 Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.build.arm64 Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.build.armv6 Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.build.armv7 Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.build.cmake.ubuntu-17.04 Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.build.ubuntu-16.04-cuda_8.0_cudnn5 Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.build.ubuntu-17.04 Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.build.ubuntu-17.04.scala.docker Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.run.ubuntu-17.04.julia Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.run.ubuntu-17.04.perl Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.run.ubuntu-17.04.python Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.run.ubuntu-17.04.r Multiplatform docker based builds (#7792) Oct 13, 2017
Dockerfile.test.ubuntu-17.04 Multiplatform docker based builds (#7792) Oct 13, 2017
README.md Multiplatform docker based builds (#7792) Oct 13, 2017
arm.crosscompile.android.mk Multiplatform docker based builds (#7792) Oct 13, 2017
arm.crosscompile.mk Multiplatform docker based builds (#7792) Oct 13, 2017
tool.py Multiplatform docker based builds (#7792) Oct 13, 2017

README.md

Dockerized multi-architecture build

These docker files and utilities will build mxnet and run tests for different architectures using cross compilation and produce runtime binary artifacts.

This utilities require that you have docker installed. Docker CE is recommended.

To compile for all the supported architectures you can run the script

$ ./tool.py

To build a single arch, you can invoke docker directly:

$ docker build -f Dockerfile.build.<arch> -t <tag> .

Or call the dockerfile directly:

docker build -f <dockerfile> -t <tag> .

Or pass the architecture id to the tool:

$ ./tool.py -a ubuntu-17.04

By convention all the Dockerfiles produce the build artifacts on /work/build so they can be copied after.

The tool will leave the resulting artifacts on the build/ directory

TODO

  • Handle dependencies between docker files, for example having a yaml file with the dependency graph so they can be built in the right order. Right now the dependency is very simple so simple alphabetical sorting of the images does the trick.