Skip to content
This repository has been archived by the owner on Jan 7, 2023. It is now read-only.

intel/Deep-learning-math-kernel-research

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DISCONTINUATION OF PROJECT

This project will no longer be maintained by Intel.

Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.

Intel no longer accepts patches to this project.

If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.

Contact: webadmin@linux.intel.com 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/ICX
source /opt/intel/compilers_and_libraries/linux/bin/compilervars.sh -arch intel64 -platform linux
mkdir -p build && cd build
; ICC
cmake .. -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_CXX_FLAGS=-xCore-AVX512 -DWITH_TEST=ON
; ICX
cmake .. -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -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
; CMake build option to enable FP16 user inputs (default: OFF)
-DENABLE_USER_FP16=ON

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.