Skip To Main Content
Intel logo - Return to the home page
My Tools

Select Your Region

Asia Pacific

  • Asia Pacific (English)
  • Australia (English)
  • India (English)
  • Indonesia (Bahasa Indonesia)
  • Japan (日本語)
  • Korea (한국어)
  • Mainland China (简体中文)
  • Taiwan (繁體中文)
  • Thailand (ไทย)
  • Vietnam (Tiếng Việt)

Europe

  • France (Français)
  • Germany (Deutsch)
  • Ireland (English)
  • Italy (Italiano)
  • Poland (Polski)
  • Spain (Español)
  • Turkey (Türkçe)
  • United Kingdom (English)

Latin America

  • Argentina (Español)
  • Brazil (Português)
  • Chile (Español)
  • Colombia (Español)
  • Latin America (Español)
  • Mexico (Español)
  • Peru (Español)

Middle East/Africa

  • Israel (עברית)

North America

  • United States (English)
  • Canada (English)
  • Canada (Français)
Sign In to access restricted content

Using Intel.com Search

You can easily search the entire Intel.com site in several ways.

  • Brand Name: Core i9
  • Document Number: 123456
  • Code Name: Alder Lake
  • Special Operators: “Ice Lake”, Ice AND Lake, Ice OR Lake, Ice*

Quick Links

You can also try the quick links below to see results for most popular searches.

  • Product Information
  • Support
  • Drivers & Software

Recent Searches

Sign In to access restricted content

Advanced Search

Only search in

Sign in to access restricted content.

The browser version you are using is not recommended for this site.
Please consider upgrading to the latest version of your browser by clicking one of the following links.

  • Safari
  • Chrome
  • Edge
  • Firefox

Intel® Integrated Performance Primitives

Production-ready building blocks for cross-platform performance. Develop high-performance vision, signal, security, and storage applications with this multithreaded software library.

Multimedia and Data Processing Performance

Intel® Integrated Performance Primitives (Intel® IPP) is an extensive library of ready-to-use, domain-specific functions that are highly optimized for diverse Intel architectures. Its royalty-free APIs help developers:

  • Take advantage of Single Instruction, Multiple Data (SIMD) instructions
  • Improve the performance of computation-intensive applications, including signal processing, data compression, video processing, and cryptography
  • Reduce cost and time to market for software development and maintenance

Release Notes

Download as Part of the Toolkit

Intel IPP is included as part of the Intel® oneAPI Base Toolkit, which is a core set of tools and libraries for developing high-performance, data-centric applications across diverse architectures.

Get It Now
Download the Stand-Alone Version

A stand-alone download of Intel IPP is available. You can download binaries from Intel or choose your preferred repository.

Download

      

Runtime Version

Develop in the Cloud

Build and optimize oneAPI multiarchitecture applications using the latest optimized Intel® oneAPI and AI tools, and test your workloads across Intel® CPUs and GPUs. No hardware installations, software downloads, or configuration necessary. Free for 120 days with extensions possible.

 

Get Access

Features

Optimized for Performance

These software building blocks are highly optimized using Intel® Streaming SIMD Extensions 2, Intel® Advanced Vector Extensions 2 (Intel® AVX2), and Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instruction sets.

 

Plug In and Go

With these ready-to-use, royalty-free functions, you will:

  • Gain more time to develop new application features
  • Reduce development, debug, and maintenance time
  • Ensure the code you write today will run optimally on future generations of Intel processors

A Comprehensive Set of Primitives

Access thousands of optimized functions covering frequently used fundamental algorithms, including those for creating:

  • Digital media
  • Enterprise data
  • Embedded communications
  • Scientific, technical, and security applications

The library includes more than 2,500 primitives for image processing, 1,300 for signal processing, 500 for computer vision, and 300 for cryptography.

Optimize for great CPU performance in current and future Intel platforms. With each instruction set upgrade, a new implementation layer is added. Previous implementations work as before, but functions that can benefit from new hardware capabilities are updated and validated before new architecture is released.

Unlock increased performance that's delivered with new hardware. Start using new CPU capabilities right away instead of interrupting development cycles for additional optimizations. In most cases, the performance boost is automatic. For other cases, you only need to recompile.

For complete information, see the release notes.

Domains and Workloads

Image Processing

Take visual information and convert it into manageable, usable data for further analysis and decision-making. These image-processing applications use Intel IPP:

  • Healthcare (medical imaging)
  • Computer vision
  • E-commerce (visual search)
  • Digital surveillance
  • Biometric identification
  • Factory machine vision
  • Advanced driver assistance systems (ADAS) for autonomous driving
  • Printing and printers
  • Image recognition and enhancement
  • Remote equipment operation
  • Gesture recognition
  • Illegal image recognition
  • Optical correction

Data Compression

Reduce the number of bits needed to store or transmit data. Intel IPP highly optimizes these common compression standards:

  • Lempel-Ziv-Storer-Szymanski (LZSS)
  • LZ77 (zlib)
  • Lempel-Ziv-Oberhumer (LZO)
  • Bzip2
  • LZ4
  • ZFP

Achieve significant performance gains with plug and play functions on applications such as these:

  • Internet portal data center
  • Data storage centers
  • Databases
  • Enterprise data management

Signal Processing

Enable information generation, transformation, and interpretation. Pull meaning from broad sources of data, helping modern communications that include:

  • Voice recognition
  • Biotechnology
  • Wearable technology
  • Hearing aids
  • Speech synthesis

Optimize commonly used signal-processing functions for a wide variety of Intel architectures, including: 

  • Discrete Fourier transform (DFT)
  • Fast Fourier transforms (FFT)
  • Convolution
  • Filtering
  • Statistics

These signal-processing applications use Intel IPP:

  • Telecommunications
  • Energy
  • Ultrasound machines
  • Medical scanning
  • Record, enhance, and playback audio and non-audio signals
  • Echo cancellation: filter, equalize, and emphasis
  • Simulation of environment or acoustics
  • Games with sophisticated audio content or effect
  • Interfaces for voice-controlled personal assistants

Cryptography

Protect against cyberattacks and intrusion in the field of autonomous, self-driving cars with functions for: 

  • Security analysis
  • Threat intelligence
  • Mobile security
  • Cloud security
  • IoT security
  • Data integrity and authentication hash (SHA, MD5, SM3)
  • Public key cryptography (RSA, ECC, HMAC, CMAC)
  • Secure data transfer, such as:
    • Symmetric algorithms
    • Advanced Encryption Standard (AES)
    • Triple DES (TDES)
    • SMS4
    • Steam ciphers

The cryptography library is available as an open source library. GitHub*

These security applications use Intel IPP:

  • Telecommunications
  • Transaction security and cybersecurity
  • Smart card and wallet interfaces
  • ID verification
  • Copy protection
  • Electronic signature
  • Advanced driver-assistance systems (ADAS)

What's New

For cryptography:

  • Extended multibuffer library with the Galois/Counter Mode (GCM) and a counter with the cipher block chaining (CCM) mode of an SM4 cipher algorithm.
  • Introduced an API to update pointer to an IppsHashMethod context inside the IppsHashState_rmf state.
  • Added support of the SM2 key exchange protocol and SM2 encryption and decryption APIs.
  • Introduced a reinitialization API for AES GCM context that can be used for updating the context ID and internal pointers.

Benchmarks

These benchmarks illustrate the performance capabilities of Intel IPP.

Documentation

Documentation

  • Get Started Guides: Windows* | Linux* | macOS*
  • Developer Reference
  • Developer Guide
     

View All Documentation

Cryptography Documentation

  • Get Started Guides: Windows | Linux | macOS
  • Developer Reference
  • Developer Guide

Other Development Environments

  • Compile and Link Intel IPP with the Microsoft Visual C++* and Intel® C++ Compiler
  • Link macOS Libraries in an Application to Intel IPP

Case Studies & Use Cases

  • WeBank* Cryptography Case Study
  • SonoScape* Achieves 20x Performance Increase Using Intel IPP and Intel oneAPI Base Toolkit

Code Samples

Demonstrations of important features in this release are located in [install-dir]/ipp/examples. Refer to the Developer Guide topic Using Intel IPP Examples.

Sample

Description

Multithread Image Resize

Learn how to use the ippiResize functionality in single and multithread modes.

Use the parallel_for loop functionality for external multithreading. The multithreading mode works if the project is built with Intel® Threading Building Blocks support.

Image Linear Transform (ipp_fft)

This example shows how to use two image linear transforms:

  • Fourier transforms (fast and discrete)
  • Discrete cosine transform (DCT)
External Threading Example (ipp_thread) Learn about threading for an image harmonization filter. Since internal threading is deprecated, it is important to know how to externally thread a generic Intel IPP function.
View all Show less

Training

Detailed Function Documents

  • Call Image-Processing Functions
  • Linkage Models Quick Reference Guide
  • Replacements for Intel IPP Deprecated Functions
  • Threading and OpenMP* FAQ
  • Understand CPU Dispatching in the Intel IPP Library

Tutorials

  • Alternatives to the Legacy Functions in Intel IPP: Generated Transforms Domain | Small Matrices Domain
  • Example of a macOS Image Resize: White Paper | Source Files
  • How to Use 1D Fourier Transform Functions
  • Process an Image from Edge to Edge
  • Use the Intel® Advanced Vector Extensions Realization of Lanczos Interpolation in a 2D Resize Transform
  • Use the Intel IPP Library in an Embedded System:
    Nonstandard Operating Systems | Linkage Model Size Differences
  • Use Performance Libraries for Signal Processing
  • Intel® Intelligent Storage Acceleration Library and Intel IPP with zlib Solutions
  • Accelerate LZ4 with Intel IPP
  • Parallel Compression and Decompression With Intel IPP and ZFP
  • Accelerate Cryptography with Intel IPP Acceleration on the 3rd Generation Intel® Xeon® Processor Scalable Family and 10th Generation Intel® Core™ Processors
  • Boost 5G with Intel IPP

Specifications

Processors:
  • Intel Atom®, Intel Core, and Intel® Xeon® processors
  • Other compatible processors
Languages:
  • Built-in support for C and C++
Operating systems:
  • Windows
  • Linux
  • macOS
Processors:
  • 3rd generation Intel Xeon processor family v3 (or later)
  • 4th generation (or later) Intel Core processor
Development environments:
  • Compatible with compilers from vendors that follow platform standards, such as Microsoft*, GNU Compiler Collection (GCC)*, and Intel
  • Can be integrated with Microsoft Visual Studio*
License:

End User License Agreement (EULA)
Note Your installed software development products may use a prior version of the EULA.

Get Help

Your success is our success. Access these support resources when you need assistance.

General oneAPI Support

Stay in the Know with All Things CODE

Sign up to receive the latest trends, tutorials, tools, training, and more to
help you write better code optimized for CPUs, GPUs, FPGAs, and other
accelerators—stand-alone or in any combination.

 

Sign Up
  • Features
  • Documentation & Code Samples
  • Training
  • Specifications
  • Help
  • Company Overview
  • Contact Intel
  • Newsroom
  • Investors
  • Careers
  • Corporate Responsibility
  • Diversity & Inclusion
  • Public Policy
  • © Intel Corporation
  • Terms of Use
  • *Trademarks
  • Cookies
  • Privacy
  • Supply Chain Transparency
  • Site Map
  • Do Not Share My Personal Information
  • Recycling

Intel technologies may require enabled hardware, software or service activation. // No product or component can be absolutely secure. // Your costs and results may vary. // Performance varies by use, configuration and other factors. // See our complete legal Notices and Disclaimers. // Intel is committed to respecting human rights and avoiding complicity in human rights abuses. See Intel’s Global Human Rights Principles. Intel’s products and software are intended only to be used in applications that do not cause or contribute to a violation of an internationally recognized human right.

Intel Footer Logo