Releases: oneapi-src/oneDNN
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.
v0.20.1
v1.0-rc
This is a release candidate for Intel MKL-DNN v1.0. Please provide feedback and report bugs in Github issues.
v0.20
Performance optimizations
- Improved GEMM-based convolutions performance.
- Improved softmax performance.
- Added arbitrary eltwise fusion support in GEMM-based convolutions and inner product.
New functionality
- Introduced bfloat16 data type 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 the processors with Intel AVX512 support bfloat16 arithmetic is emulated.
Thanks to the contributors
This release contains contributions from many Intel Performance Libraries developers. We would also like to thank everyone who asked questions and reported issues.
v0.20-rc
This is a release candidate for Intel MKL-DNN v0.20. Please provide feedback and report bugs in Github issues.
v0.19
Performance optimizations
- Improved int8 convolutions performance for small batch cases.
- Improved performance of grouped convolutions with the number of channels in a group being multiple of 4.
- Improved GEMM-based convolutions performance.
- Improved performance of RNN cells.
- Improved SGEMM performance for Intel® AVX2 and Intel® AVX512 instruction sets.
New functionality
- Introduced int8 support in 1D convolution, deconvolution, inner product, and batch normalization
Usability improvements
- Added CMake package configuration file
Thanks to the contributors
This release contains contributions from many Intel Performance Libraries developers as well as Haitao Feng @fenghaitao, Klein Guillaume @guillaumekln, Alexander Grund @Flamefire, Rui Xia @harrysummer, and Shigeo Mitsunari @herumi. We would also like to thank everyone who asked questions and reported issues.
v0.19-rc
This is a release candidate for MKL-DNN v0.19. Please provide feedback and report bugs in Github issues.