Intel continues its strident efforts to refine libraries optimized to yield the utmost performance from Intel® processors. The Intel® Performance Libraries provide a large collection of prebuilt and tested, performance-optimized functions to developers. By utilizing these libraries, developers can reduce the costs and time associated with software development and maintenance, and focus efforts on their own application code. Intel has a mission to support innovation and impressive performance:
- Intel® Data
Analytics Acceleration Library – boosts machine learning and big data analytics,
optimizing across all data analysis stages
- Intel® Integrated
Performance Primitives – highly optimized image, signal, data compression, and
- Intel® Math
Kernel Library – features highly optimized, threaded, and vectorized functions
to maximize performance on each processor family
- Intel® MPI
Library – focuses on enabling Message Passing Interface
(MPI) applications to perform better for clusters based on Intel® architecture
- Intel® Threading
Building Blocks – scalable parallel model to implement task-based parallelism
The functions contained in the
libraries have been carefully optimized to capitalize on specific performance features
built into current Intel processors and will be optimized for future Intel
processors. An important advantage of using the Intel Performance Libraries is that
they provide transparent portability of application programs across the full
range of Intel processors.
The Intel® Data Analytics Acceleration Library (Intel® DAAL) helps boost machine learning and big-data analytics and helps data engineers reduce the time it takes to develop high-performance applications. Intel DAAL enables applications to make better predictions faster and analyze larger data sets with available compute resources. Simply link to the newest version and your code is ready for the latest processors. This library addresses all stages of the data analytics pipeline: preprocessing, transformation, analysis, modeling, validation, and decision-making.
The Intel® Integrated Performance Primitives (Intel® IPP) is a valuable resource for programming tools and libraries that are highly optimized for a wide range of Intel® architecture (Intel Atom®, Intel® Core™, and Intel® Xeon® processors). These ready-to-use, APIs are used by software developers, integrators, and solution providers to tune their applications and get the best performance.
IPP software building blocks are highly optimized using Intel® Streaming SIMD
Extensions (Intel® SSE), Intel® Advanced Vector Extensions 2 (Intel® AVX2), and
Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instruction sets. Plug
in these primitives to have your applications perform faster than what an
optimizing compiler can produce alone.
IPP offers thousands of optimized functions for commonly used algorithms,
including those for creating digital media, enterprise data, embedded
communications, and scientific, technical, and security applications. The
library includes more than 2,500 image processing, 1,300 signal processing, 500
computer vision, and 300 cryptography primitives.
The Intel® Math Kernel Library (Intel® MKL) optimizes code and offers a choice of compilers, languages, operating systems, and linking and threading models. The library features highly optimized, threaded, and vectorized math functions that maximize performance on each processor family. The library uses industry-standard C and Fortran APIs for compatibility with popular Basic Linear Algebra Subprograms (BLAS), Linear Algebra Package (LAPACK), and Fast Fourier Transform (FFT) functions—no code changes required. Intel MKL dispatches optimized code for each processor automatically without the need to branch code.
Intel and Cloudera have collaborated to
speed up Spark’s machine learning (ML) algorithms via integration with the Intel®
MKL. Spark’s ML libraries (known as
MLlib) is a leading solution for machine learning on large distributed data
The Intel® MPI Library is a multi-fabric message-passing library that implements the open-source MPICH specification. The library is used to create, maintain, and test advanced, complex applications that perform well on HPC clusters based on Intel® processors. You can develop applications that can run on multiple cluster interconnects chosen by the user at run time, and quickly deliver maximum end-user performance without having to change the software or operating environment. The Intel® MPI library helps you achieve the best latency, bandwidth, and scalability through automatic tuning for the latest Intel® platforms. In addition, you can reduce the time to market by linking to one library and deploying on the latest optimized fabrics.
The Intel® Threading Building Blocks Library (Intel® TBB) allows for advanced threading for fast, scalable parallel applications. It also provides the ability to parallelize computationally intensive work, delivering higher-level and simpler solutions using standard C++. Intel® TBB is a feature-rich and comprehensive solution for parallel application development and highly portable, composable, affordable, and approachable and also provides future-proof scalability. Intel® TBB is a C++ library for shared-memory parallel programming and intra-node distributed memory programming. The library provides a wide range of features for parallel programming, including generic parallel algorithms, concurrent containers, a scalable memory allocator, work-stealing task scheduler, and low-level synchronization primitives.