-
Install cmake
-
Create a build directory in the root of the mxnet project
mkdir build cd build
-
Generate your Makefile and build along with the tests with cmake (specify appropraite flags)
cmake -DUSE_CUDNN=ON -DUSE_CUDA=ON -DUSE_ONEDNN=ON -DUSE_BLAS=Open -DCMAKE_BUILD_TYPE=Debug .. && make
-
Run tests
ctest --verbose
-
The following will run all the tests the in
cpp
directory. To run just your test file replace the following in yourtests/CMakeLists.txt
file(GLOB_RECURSE UNIT_TEST_SOURCE "cpp/*.cc" "cpp/*.h")
with
file(GLOB_RECURSE UNIT_TEST_SOURCE "cpp/test_main.cc" "cpp/{RELATIVE_PATH_TO_TEST_FILE}")
Ninja is a build tool (like make) that prioritizes building speed. If you will be building frequently, we recommend you use ninja
- Download Ninja via package manager or directly from source
apt-get install ninja-build
- When running cmake, add the
-GNinja
flag to specify cmake to generate a Ninja build filecmake -DUSE_CUDNN=ON -DUSE_CUDA=ON -DUSE_ONEDNN=ON -DUSE_BLAS=Open -GNinja -DCMAKE_BUILD_TYPE=Debug ..
- Run the ninja build file with
ninja
To run tests inside docker, you first need to install docker
and docker-compose
on your machine.
On Ubuntu you may install them via sudo apt-get install docker.io docker-compose python3-docker
and set them up via sudo usermod $(whoami) -G docker -a
.
Then, to run tests inside docker run the following command
ci/build.py --platform {PLATFORM} /work/runtime_functions.sh {RUNTIME_FUNCTION}
An example for running python tests on Ubuntu with a CPU would be
ci/build.py --platform ubuntu_cpu /work/runtime_functions.sh unittest_ubuntu_python3_cpu