Deep Neural Networks (DNN) are on the cutting edge of machine learning. Today this approach is used for image recognition and both video and natural language processing, as well as to solve complex visual understanding problems such as autonomous driving. This is the area of active innovation where new algorithms and software tools are being published on a monthly basis. DNN are very demanding in terms of compute resources, and performance-efficient implementations of algorithms are critical for both academia and the industry.
Here at Intel® we work in close collaboration with the leading academic and industry co-travelers to solve the architectural challenges, both in hardware and software, for Intel's upcoming multicore/many-core compute platforms. To help innovators tackle the complexities of machine learning, we are making performance optimizations available to our developers through familiar Intel® software tools, specifically through the Intel® Data Analytics Acceleration Library (Intel® DAAL) and enhancements to the Intel® Math Kernel Library (Intel® MKL).
As we introduced DNN extensions to Intel MKL 2017, we realized that the area was changing very rapidly. Now we would like to bring the collaboration to the new level with launch of Intel MKL-DNN, an open source performance library for deep learning. We invite researchers, framework developers and production software developers to work together on accelerating deep learning workloads on Intel® architectures.
So what is it?
Intel MKL-DNN is a library of DNN performance primitives optimized for Intel architectures. This is a set of highly optimized building blocks intended to accelerate compute-intensive parts of deep learning applications, particularly DNN frameworks such as Caffe, Tensorflow, Theano and Torch. The library is distributed as source code via a GitHub repository and is licensed under the Apache 2.0 license. The library is implemented in C++ and provides both C++ and C APIs, which allow the functionality to be used from a wide range of high-level languages, such as Python or Java.