Intel® Integrated Performance Primitives (Intel® IPP)

  • Performance: Pre-optimized Building Blocks Perform Faster
  • Previewing Intel® Graphics Support. Click here!
  • Cross-Platform and Operating System
  • Now available as a standalone product for OS X*!
  • Introducing a separate download package for Android* OS.

$199
Buy Now

Or Download a Free 30-Day Evaluation Version

Intel Integrated Performance Primitives

A Library of Highly Optimized Algorithmic Building Blocks for Media and Data Applications

Intel® Integrated Performance Primitives (Intel® IPP) 8.1 is an extensive library of software functions for multimedia processing, data processing, and communications applications for Windows*, Linux*, Android*, and OS X* environments.

Intel® Integrated Performance Primitives Highlighted Features

Overview

  • Optimized for Performance: Intel® IPP software building blocks are highly optimized using Intel® Streaming SIMD Extensions (Intel® SSE) and Intel® Advanced Vector Extensions (Intel® AVX) instruction sets so your application will perform faster than what an optimized compiler can produce alone.

  • Intel Engineered to Save You Time: Because Intel has done the engineering on these ready-to-use, royalty-free functions, you’ll not only have more time to develop new features for your application, but in the long run you’ll also save development, debug and maintenance time while knowing that the code you write today will run optimally on future generations of Intel processors.

  • Thousands of Frequently Used Functions: Intel® IPP offers thousands of optimized functions covering frequently used fundamental algorithms including those for creating digital media, enterprise, data, embedded, communications, and scientific / technical applications.

New Preview Features:

New Production Features:

  • Standalone OS X* support added (previously distributed only via the OSX* Composer suite)
  • Microsoft Windows 8* UI supported via single-threaded static libraries
  • Standalone package for Android* OS. See Using Intel® Integrated Performance Primitives with Android* OS
  • Standalone package and Intel® IPP within the Intel® Composer XE suite now have support for Intel® Xeon Phi™ coprocessors

Click on images for a larger view of the benchmark graphic.

Performance Benchmarks

Performance ChartPerformance Comparison Details
ippiFilter

ippiFilter

Performance is significantly faster than an optimized compiler with further improvements over multiple generations of SSE and Intel® AVX instruction sets.

ippsSqrt32f

ippsSqrt32f

Intel® Compiler vectorization makes a major difference in Sqrt performance alone, but Intel IPP provides significant performance boost over the Intel® Compiler.

Supplemental Documentation

Intel® IPP MacOS Image Resize Example
By adminPosted 07/29/20130
This whitepaper and demo application implements image resizing using Intel® IPP on OS X*.   Download Whitepaper   Download source files
Signal Processing Usage for Intel® System Studio – Intel® MKL vs. Intel® IPP
By Noah Clemons (Intel)Posted 02/05/20130
Employing performance libraries can be a great way to streamline and unify the computational execution flow for data intensive tasks, thus minimizing the risk of data stream timing issues and heisenbugs. Here we will describe the two libraries that can be used for signal processing within Intel® ...
How to use Software Development Tools Targeting Intelligent Systems and Embedded Devices
By robert-mueller-albrecht (Intel)Posted 02/03/20130
Abstract Embedded platforms and integrated intelligent systems come in many shapes and sizes. Many are based on heterogeneous System-on-Chip designs using a multitude of hardware architectures. System software stack customization and application development for varied configurations requires a f...
订阅

You can reply to any of the forum topics below by clicking on the title. Please do not include private information such as your email address or product serial number in your posts. If you need to share private information with an Intel employee, they can start a private thread for you.

New topic    Search within this forum     Subscribe to this forum


Intel(r) Integrated Performance Primitives Android* Support
By Chris Cormack (Intel)0
Intel(r) IPP offers two ways to try out Android* support: 1. Intel(r) IPP Preview for Android* available exclusively from Beacon Mountain This is a subset of Intel(r) IPP image processing and computer vision functions that is freely available for download, use, and production release for Android platforms. http://software.intel.com/en-us/vcsource/tools/beaconmountain 2. Intel(r) IPP for Android* This is the full Intel(r) IPP product, that is available for 30-day evaluation and/or purchase.  http://software.intel.com/en-us/intel-ipp
Previous external samples package now legacy
By Jeffrey Mcallister (Intel)2
Starting with the release of IPP 8, the product is renewing its focus on primitives (with emerging GPU enablement as demonstrated in IPP's technology preview releases).  Small, simple examples will be the goal instead of large samples. With the release of IPP 8, all of the large samples previously distributed as an external samples package are now legacy.  This includes  All audio and video codecs in UMC.  For video codecs Media SDK (link) is the successor to UMC.  Today and forward, Media SDK is Intel's only hardware enabling product dedicated to media codecs. All JPEG codecs in UIC and IJG All speech codecs in USC All drop-in IPP accelerated compression interfaces  For more info please see http://software.intel.com/en-us/articles/code-samples-for-intel-integrated-performance-primitives-library.
IPP 8.0 is here!
By Jeffrey Mcallister (Intel)8
IPP 8 is now available for download.  For more information on the stand-alone product please visit the IPP 8 landing page.  There is also an IPP 8 preview for Android in the Intel Beacon Mountain development environment.  With this release there are also technology previews of GPU-enabled asynchronous C/C++ and OpenCL functions. More info can be found in the IPP 8 Release Notes. IPP is also part of  Composer XE 2013, Intel System Studio, and other suites. 
IPP 8.0 Preview Features: GPU programming with Asynchronous C/C++ and OpenCL functions
By Jeffrey Mcallister (Intel)15
For more information, documentation, downloads, etc. see: http://software.intel.com/en-us/intel-ipp-preview Let us know what you think.  The number of functions is starting small but expected to grow rapidly with frequent updates.  Your feedback is welcome and needed to develop these functions toward eventual promotion to an Intel® IPP production release. Looking forward to your input on issues, documentation, feature requests, and usability.
Cant find threaded libs in the default download of Ipp 8.1
By Anirudh1
I have downloaded IPP 8.1 version from the website.  It stalls well and I can see all the single threaded libraries and dlls.  I wanted to know how can I get the threaded libraries and dlls ?  I don't see any "Threaded" folder where the libraries and dlls can be found as per the documentation.  I know that these are deprecated, but I still want to acquire them.  Please let me know where can I find the threaded versions of the libs and dlls for IPP 8.1.  Thanks!
pyramidUp function
By Alexander Karsakov1
Hello. Since ippiPyrUp_Gauss5x5_8u_C1R is marked as deprecated. I need to implement analogous function using Pyramid API. Following the example (http://software.intel.com/en-us/node/504506), I wrote function: void pyrUp_Gauss(Ipp8u *pSrc, IppiSize srcRoi, int srcStep, Ipp8u *pDst, IppiSize dstRoi, int dstStep) { float rate = 2.f; IppiPyramid *gPyr; IppStatus ok = ippiPyramidInitAlloc(&gPyr, 2, srcRoi, rate); Ipp16s iKernel[5] = { 1, 4, 6, 4, 1 }; int *gStep = gPyr->pStep; Ipp8u **gImage = (Ipp8u**)(gPyr->pImage); IppiSize *pRoi = gPyr->pRoi; gImage[1] = pSrc; gImage[0] = pDst; gStep[1] = srcStep; gStep[0] = dstStep; pRoi[1] = srcRoi; pRoi[0] = dstRoi; IppiPyramidUpState_8u_C1R **gState = (IppiPyramidUpState_8u_C1R**) &(gPyr->pState); ok = ippiPyramidLayerUpInitAlloc_8u_C1R(gState, srcRoi, rate, iKernel, 5, IPPI_INTER_LINEAR); ok = ippiPyramidLayerUp_8u_C1R(gImage[1], gStep[1], pRoi[1], gImage[0]...
royalties fees question
By Bob s.2
As i understand, i can use your IPP lib to compress using H.264. I also read that there are no royalties needed to be paid to intel for using the IPP lib except from the $200 one time payment. My question is this: I know that MPEG LA holds a patent for H.264 so everyone that uses it needs to pay them royalties fees. Can you please explain the case with IPP. I.E if i develop software for ends users and my software use IPP lib (registered version) and my software uses the H.264 component of the IPP lib, will i need to pay royalties to MPEG LA as well?    
royalties fees question
By Bob s.1
As i understand, i can use your IPP lib to compress using H.264. I also read that there are no royalties needed to be paid to intel for using the IPP lib except from the $200 one time payment. My question is this: I know that MPEG LA holds a patent for H.264 so everyone that uses it needs to pay them royalties fees. Can you please explain the case with IPP. I.E if i develop software for ends users and my software use IPP lib (registered version) and my software uses the H.264 component of the IPP lib, will i need to pay royalties to MPEG LA as well?    

页面

订阅 论坛
  • What is Intel® IPP?
  • Intel® Integrated Performance Primitives (Intel® IPP) is an extensive library of software functions to help you develop multimedia, data processing, and communications applications for Windows*, Linux*, OS X*, and Android* environments. These functions are highly optimized using Intel® Streaming SIMD Extensions (Intel® SSE) and Intel® Advanced Vector Extensions (Intel® AVX) instruction sets which often outperform what an optimized compiler can produce alone. Because Intel has done the engineering on these ready-to-use, royalty-free functions, you'll not only have more time to develop new features that differentiate your application, but in the long run you'll also save development, debug and maintenance time while knowing that the code you write today will run optimally on future generations of Intel processors.
  • What's new in Intel® IPP 8.1?
    • All Intel® IPP functions are now available for the Intel® Xeon Phi™ product family.
    • Image Processing and Computer Vision:
      • Added the ippiFilterBilateralBorder, ippiFilterGaussianBorder, ippiLabelMarkers, and ippiCannyBorder functions with extended data type and borders support.
      • Added new functions: ippiGradientVector, ippiFilterSobelBorder, ippiSAD.
      • Added extended axis support (45 and 135 degree) to the ippiMirror function.
  • What are the Intel® IPP Previews?
  • Intel® IPP is now providing technology previews of two new APIs (OpenCL and Asynchronous C/C++) focused on the image processing domain. Both models enable targeting Intel® HD Graphics and Intel® Iris™ graphics components of the Intel® processor. Try it out and take part in our new forums dedicated to these APIs. For more info, check out our preview website at: http://software.intel.com/intel-ipp-preview
  • What do I need to do to enable great performance on new platforms with Intel® IPP?
    • With Intel® IPP you get great CPU performance today and tomorrow. With each instruction set upgrade a new implementation layer is added. Previous implementations will work as before, but functions which can benefit from new hardware capabilities will be updated and validated before the new architecture is publicly released. With IPP you get the keys to unlock new performance delivered with new hardware so you can start utilizing its new CPU capabilities right away instead of interrupting development cycles for additional optimizations. In some cases the performance boost will be automatic. In most other cases all you need to do is recompile.
    • GPU performance is increasingly important. While the technology previews are less mature than IPP's CPU-only functions, starting your evaluation now and sending feedback will help make sure that IPP's GPU support grows in a direction useful to you. You can also start building products today with the previews if a faster rate of change is acceptable.
  • What are the differences between Intel® IPP main product, previews, examples, and samples?
    • The main product is primitives: optimized functions to enable developers to utilize hardware capabilities without dropping down to the specifics of each hardware version. This is still CPU only today but will include GPU support in the future. This is why we are releasing technology previews.
    • Technology previews represent a "release early and often" approach, intended to maximize the rate of new functionality released to you as well as the level of feedback on what is truly important. While there will be no limitations on releasing software built with the preview functions they will be free to change with much less notice than for changes to functions in the main product.
    • Examples as defined for Intel® IPP are short starting points intended to illustrate use of features in Intel® IPP's main product and previews. They are installed with the main package and previews. Small examples may accompany documentation. They will never grow large enough to require a separate download package, which distinguishes them from samples.
    • Samples represent a previous era for Intel® IPP. These were like examples, but far too large to maintain indefinitely. These are now legacy. For more information please see the article on Code Examples and Samples for Intel® IPP.
  • How do I get the Intel® IPP Cryptography add-on?
  • Cryptography for Intel® IPP is part of the main Intel IPP product, but is packaged separately in order to comply with United States export regulations. It is available to download for all registered users of Intel® IPP. See the Cryptography Download section of this site for more information.
  • What are the Intel® IPP Previews?
  • Intel® IPP is now providing technology previews of two new APIs (OpenCL and Asynchronous C/C++) focused on the image processing domain. Both models enable targeting Intel® HD Graphics and Intel® Iris Graphics components of the Intel® processor. Try it out and take part in our new forums dedicated to these APIs. For more info, check out our preview website at: http://software.intel.com/intel-ipp/preview
  • What do I need to do to enable great performance on new platforms with Intel® IPP?
    • With Intel® IPP you get great CPU performance today and tomorrow. With each instruction set upgrade a new implementation layer is added. Previous implementations will work as before, but functions which can benefit from new hardware capabilities will be updated and validated before the new architecture is publicly released. With IPP you get the keys to unlock new performance delivered with new hardware so you can start utilizing its new CPU capabilities right away instead of interrupting development cycles for additional optimizations. In some cases the performance boost will be automatic. In most other cases all you need to do is recompile.
    • GPU performance is increasingly important. While the technology previews are less mature than IPP's CPU-only functions, starting your evaluation now and sending feedback will help make sure that IPP's GPU support grows in a direction useful to you. You can also start building products today with the previews if a faster rate of change is acceptable.
  • What are the differences between Intel® IPP main product, previews, examples, and samples?
    • The main product is primitives: optimized functions to enable developers to utilize hardware capabilities without dropping down to the specifics of each hardware version. This is still CPU only today but will include GPU support in the future. This is why we are releasing technology previews.
    • Technology previews represent a "release early and often" approach, intended to maximize the rate of new functionality released to you as well as the level of feedback on what is truly important. While there will be no limitations on releasing software built with the preview functions they will be free to change with much less notice than for changes to functions in the main product.
    • Examples as defined for IPP are short starting points intended to illustrate use of features in IPP's main product and previews. They are installed with the main package and previews. Small examples may accompany documentation. They will never grow large enough to require a separate download package, which distinguishes them from samples.
    • Samples represent a previous era for Intel® IPP. These were like examples, but far too large to maintain indefinitely. These are now legacy. For more information please see the article on Code Examples and Samples for Intel® IPP.
  • How do I get the Intel® IPP Cryptography add-on?
  • Cryptography for Intel IPP is part of the main Intel IPP product, but is packaged separately in order to comply with United States export regulations. It is available to download for all registered users of Intel IPP. See the Cryptography Download section of this site for more information.

Intel® Integrated Performance Primitives

Getting Started?

Click the Learn tab for guides and links that will quickly get you started.

Get Help or Advice

Search Support Articles
Forums - The best place for timely answers from our technical experts and your peers. Use it even for bug reports.
Support - For secure, web-based, engineer-to-engineer support, visit our Intel® Premier Support web site. Intel Premier Support registration is required.
Download, Registration and Licensing Help - Specific help for download, registration, and licensing questions.
Supported Versions

Resources

Release Notes - View Release Notes online!
Documentation:
Reference Manual
User's Guide
All Product Documentation - View documentation online!