Deep Learning Math Kernel Research (Euler)
Experimental DNN math kernel based on C++11 and Intel intrinsic instructions.
System Requirements
Intel Core-X series processor with Intel (R) AVX-512 instruction set extensions
Intel Xeon Scalable processor (Skylake, Cascade Lake, ...)
Prerequisites
Linux x86_64 OS
CMake >= 3.0
Gflags >= 2.0
[ICC >= 18.0](https://software.intel.com/en-us/c-compilers)
(ICC >= 19.0 for Intel DL Boost (VNNI) support on Intel Cascade Lake)
Build
; ICC
source /opt/intel/compilers_and_libraries/linux/bin/compilervars.sh -arch intel64 -platform linux
mkdir -p build && cd build
cmake .. -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_CXX_FLAGS=-xCore-AVX512 -DWITH_TEST=ON
make -j
cd -
; CMake build option to enable VNNI support (default: OFF)
-DWITH_VNNI=ON
; CMake build option to enable Intel TBB threading runtime (default: OMP)
-DMT_RUNTIME=TBB
Run Tests
cd /path/to/euler/root
./scripts/best_configs/vgg-n1-8180-1s.sh
Link to Euler
CFLAGS += /path/to/euler/include
#include "euler.hpp"
LDFLAGS += libel
License
Apache License Version 2.0.