tree: cfc189120b0a91dba47dcafd8b3ecb99c3a580cc [path history] [tgz]
  1. build.sh
  2. build_lib.sh
  3. build_wheel.sh
  4. README.md
tools/staticbuild/README.md

MXNet Static Build

This folder contains the core script used to build the static library. This README provides information on how to use the scripts in this folder. Please be aware, all of the scripts are designed to be run under the root folder.

build.sh

This script is a wrapper around `build_lib.sh. It simplifies the build by automatically identifing the system version, number of cores, and all environment variable settings. Here are examples you can run with this script:

You need to install patchelf first, for example via apt install patchelf on Ubuntu systems.

tools/staticbuild/build.sh cu102

This would build the mxnet package based on CUDA 10.2. Currently, we support variants cpu, native, cu101, cu102 and cu110. All of these variants expect native have MKL-DNN backend enabled.

tools/staticbuild/build.sh cpu

This would build the mxnet package based on MKL-DNN.

As the result, users would have a complete static dependencies in /staticdeps in the root folder as well as a static-linked libmxnet.so file lives in lib. You can build your language binding by using the libmxnet.so.

build_lib.sh

This script clones the most up-to-date master and builds the MXNet backend with a static library. In order to run the static library, you must set the following environment variables:

  • DEPS_PATH Path to your static dependencies
  • PLATFORM linux, darwin
  • VARIANT cpu, cu*

It is not recommended to run this file alone since there are a bunch of variables need to be set.

After running this script, you would have everything you need ready in the /lib folder.

build_wheel.sh

This script builds the python package. It also runs a sanity test.