Releases: oneapi-src/oneDNN
v1.1-rc
This is a release candidate for DNNL v1.1. Please provide feedback and report bugs in Github issues.
v0.20.5
This is a patch release containing following changes to Intel MKL-DNN v0.20.4:
v0.20.4
v0.21-rc
This is a release candidate for Intel MKL-DNN v0.21. Please provide feedback and report bugs in Github issues.
v0.20.3
v1.0.2
This is a patch release containing following changes to Intel MKL-DNN v1.0.1:
- Fixed issue with bfloat16 instructions detection in Xbyak (0f4ba11)
- Fixed buffer size in packed GEMM (9764940)
- Fixed offset calculation issue in weight update depthwise convolution in fp32 and bfloat16 kernels (6b9d412, 061499d)
- Added check that size of generated kernel doesn't exceed the maximum allowed bound in fp32 forward and backward kernels (67e8cd2)
- Various fixes in RNN primitive:
- Proper handling of packed GEMM in extended GEMM (4eb9f56)
- Force no-copy GEMM only for Intel AVX+ systems (2fbc8ba)
- Avoid unaligned pointers usage in vex instructions in GRU cell (a147c08)
- Fixed wrong dimension when creating GEMM primitive descriptor in reference RNN implementation for GPU (eb3c866)
- Fixed Tanh backward calculation in GPU RNN reference implementation (f6e4b97)
- Fixed pack GEMM dispatching for int8 (16b46c7)
- Addressed bugs in tests for RNNs (cf83e83, f7c2de2, 960f3f3)
v0.20.2
This is a patch release containing following changes to Intel MKL-DNN v0.20.1:
- Fixed issue with bfloat16 instructions detection in Xbyak (b59bf2e)
- Fixed offset calculation issue in weight update depthwise convolution in fp32 and bfloat16 kernels (ddc54e5, 0982b25)
- Added check that size of generated kernel doesn't exceed the maximum allowed bound in fp32 forward and backward kernels (24abe20)
- Various fixes in RNN primitive:
v1.0.1
v1.0
Performance optimizations
- Added SGEMM copy-based kernels for Intel SSE 4.1, Intel AVX, Intel AVX 2 and Intel AVX 512 architectures. With this optimization Intel MKL-DNN’ JIT SGEMM implementation achieves comparable performance to Intel MKL.
- Improved GEMM performance for n=1.
- Improved performance of s8s8s32 GEMM.
New functionality
- Introduced Intel Processor Graphics support covering fp16 and fp32 inference, and fp32 training. Intel MKL-DNN relies on OpenCL* runtime to execute computations on Intel Processor Graphics and provides interoperability with user’s OpenCL code.
- Added post-ops support in Inner Product and GEMM-based convolution.
- Introduced bfloat16 training and inference support in reorders, (de-)convolution, pooling, batch normalization, local response normalization, eltwise, inner product, shuffle, sum, and concat. The implementation relies on new instructions targeting future Intel Xeon Scalable processor (codename Cooper Lake). On Intel Xeon processors with Intel AVX512 support bfloat16 arithmetic is emulated.
- Added GELU activation support.
Usability improvements
- Introduced new developer guide and new examples.
- Removed dependency on Intel MKL (or Intel MKL small libraries) as JIT implementation delivers comparable performance.
- Introduced explicit scratchpad management.
- Lowered requirements for Intel SSE4 optimizations to Intel SSE 4.1.
- Added out of the box Intel VTune profiling support.
- Introduced binary distribution.
Breaking changes to the API
This is a major release that introduces several breaking changes. See v1.0 transition guide for the full list of changes and replacement functions.
- Removed previously deprecated APIs.
- Removed experimental s16 data type support.
- Removed unused parameters
rounding_mode
andpadding_kind
- Removed view primitive. The functionality is supported directly by memory descriptor.
- Separated RNN primitive into separate primitives for each cell type.
- Separated cell states and hidden states in LSTM cell.
- Changed matrix layout in GEMM to row-major and calling convention to C-style.
- Changed the offset handling in integer GEMM (now the offsets are subtracted from matrices A and B).
- Changed execution API to accept memory buffers at primitive execution
- Simplified memory descriptor and removed memory primitive descriptor entity
Thanks to the contributors
This release contains contributions from many Intel Performance Libraries developers as well as Andrew Senkevich, Benjamin Fitch, Nathan Greeneltch @nathan-greeneltch-intel, Ilia Taraban, Shigeo Mitsunari @herumi, Nikolay Tyukaev, Ivan Samsonov, Kalina Tomasz, @basargin and Louie Tsai @louie-tsai. We would also like to thank everyone who asked questions and reported issues.
*Other names and brands may be claimed as the property of others.