libxsmm / libxsmm-dnn

Reference implementation of Deep Neural Network primitives using LIBXSMM's Tensor Processing Primitives (TPP)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LIBXSMM-DNN

BSD 3-Clause License Correctness Performance Read the Docs

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

About

Reference implementation of Deep Neural Network primitives using LIBXSMM's Tensor Processing Primitives (TPP)

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 94.2%Language:Shell 3.9%Language:Makefile 1.9%