installation:
https://intel.github.io/mkl-dnn/dev_guide_build.html
https://intel.github.io/mkl-dnn/dev_guide_build_options.html
git clone https://github.com/intel/mkl-dnn.git
cd mkl-dnn/
git tag
git checkout v1.0.2
mkdir -p build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/mkldnn/ ..
make -j all
sudo make install
使用
1 ) Programming Model:
MEMORY NET
memory::dims, tz
↓
memory::desc, md ----> net::desc, d
| ↓
| net::primitive_desc, pd <-- engine
↓ ↓long time
Memory <-- engine[data] net (primitive)
╲ |
(memory reorder) |
╲ ↓
Net.execute <-- stream
2 ) Design Specifications:
Net ___________________________
| src_memory (any type) |
| |
| dst_memory (fixed type) |
-----------------------------
↓reorder
Net ___________________________
| src_memory (any type) |
| |
| dst_memory (fixed type) |
-----------------------------
(1)输出log,调试dnnl:https://intel.github.io/mkl-dnn/dev_guide_verbose.html
DNNL_VERBOSE=1 ./benchdnn