LIBXSMM-DNN is a reference implementation of Deep Neural Network primitives using LIBXSMM's Tensor Processing Primitives (TPP).
To checkout the source code:
git pull --recurse-submodules
git submodule update --init --recursive
To build from source:
make -j $(nproc)
NOTE: To rely on a specific version of LIBXSMM (Git submodule not required), set
LIBXSMMROOT
environment/make variable and rely on a separately built LIBXSMM.
To mimic the performance of ResNet-50 inference:
tests/conv/run_convs.sh 1 1000 -1 f32 F 0 0 64 64 1 | tee output.log
NOTE: To mimic performance, FLOPS are shown and the time spent for convolutional layers is measured. This is different from running inference end-to-end using a real framework such as PyTorch).
To summarize timings:
tests/performance.sh output.log