Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6706 Discussions

Intel® IPP 2017 Beta is available – please register and provide feedback!

Chao_Y_Intel
Moderator
380 Views

Intel® IPP 2017 Beta is now available.  The release provides broad and release quality optimizations for AVX512 and AVX2 (KNL and SKL). This results in higher performance and more efficient data management across a wide range of applications like image and single processing, computer vision, and data compression.  This release also support the Super-resolution (huge image) through new wrappers that support 64-bit data length (Intel® IPP 64x functions) and the new integration wrappers which provide easy-to-use APIs for the Intel IPP functionality:

Intel IPP 2017 beta release is available as a part of the Intel Parallel Studio XE 2017 Beta, and Intel System Studio 2017 Beta.

To sign up for the Intel Parallel Studio XE 2017 Beta:  
Please visit the Intel Parallel Studio Beta Registration Page

To sign up for the Intel System Studio 2017 Beta 
Please visit the Intel System Studio Beta Page


What’s New in Intel® IPP 2017 Beta:

  • Added new APIs (Intel® IPP 64x functions) to support 64-bit data length in the image and signal processing domains:
  • Added integration wrappers for some image processing and computer vision functions. The wrappers provide the easy-to-use C and C++ APIs for Intel® IPP functions, and they are available as a separate download.
  • Extended optimization for Intel® AVX-512,  Intel® AVX2, Intel® SSE4.2 instruction set on Intel® MIC Architectures, Intel® Xeon® , Intel® Core™, and Intel® Atom™ processors.
  • Signal Processing:
    • Added the ippsIIRIIR functions that perform zero-phase digital IIR filtering.
    • Added 64-bit data length support to the ippsSortRadixAscend functions.
  • Image Processing:
    • Added the ippiScaleC functions to support image data scaling and shifting for different data types.
  • Data Compression:
    • Added the patch files for the zlib compression and decompression functions. The patches provide drop-in optimization with Intel® IPP functions, and support zlib version 1.2.5.3, 1.2.6.1, 1.2.7.3 and 1.2.8.
  • Removed the tutorial from the installation package, and its sample code and documentation are now provided online (https://software.intel.com/en-us/product-code-samples).

Please find more information on Intel IPP 2017 Beta release note

Your feedback and question is welcome during your evaluation.

0 Kudos
7 Replies
Royi
Novice
380 Views

Please bring back Multi Threaded libraries of your functions.

It's really needed on the function level.

Thank You.

0 Kudos
Adriaan_van_Os
New Contributor I
380 Views
I agree with what Royi said above. >> However, the multi-threaded libraries are deprecated and moving to external threading is recommended. Many functions can only be threaded effciently internally, specifically functions that can not be tiled externally (think of an FFT). So, removing internal threading is really a bad idea, especially in a product labeled "Performance Primitives.". Regards, Adriaan van Os
0 Kudos
Chao_Y_Intel
Moderator
380 Views

Adriaan and Royi, 

Thanks for the feedback. The threaded can be installed as an optionally package. Check this page for a few detail:
https://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-threading-openmp-faq

Since major of IPP functions are the low level primitives, threading at high level is more effective, For the 2D FFT,  have you got chance to check our external thread example? They are located at: ipp\examples\ipp_examples_win.zip\examples\ipp_thread

Thanks,
Chao

0 Kudos
Adriaan_van_Os
New Contributor I
380 Views
Making the threaded libs an optional package is the first step in making them deprecated. And, from a user's perspective, they shouldn't be deprecated. What you say about "threading being more effective at high level" is nonsense. There are no technical reasons why this should be true, on the contrary. The ipp_thread example that I have (from ipp 9.0.2) is not about FFTs. Well, Intel can do what it wants, it is their software. But don't ask for user confidence and don't ask for user feedback. If a developer uses a function, he doesn't want it deprecated in the next release. With regard to FFTs, Apple already showed how to do a general purpose FFT on a graphics card. With code compiled by llvm. Is that what Intel wants, general purpose CPUs to be deprecated ? And doing the real work on a non-Intel graphic CPU ? Regards, Adriaan van Os
0 Kudos
Chao_Y_Intel
Moderator
380 Views

Adriaan, 

Thanks for the feedback.  I am tracking the request to add the threaded FFT functions in IPP high level wrappers code.  For the FFT,  are you using the 2D FFT function, or 1D?  What is the transform type?   
Also besides the FFT functions,  are you want any other functions for the high level threading? 

Thanks,
Chao

0 Kudos
Adriaan_van_Os
New Contributor I
380 Views

For image processing, I use the 2D real-to-packed-complex forward and packed-complex-to-real inverse FFT transforms extensively, both in-place and out-of-place. I quite prefer complex-interleaved over complex-split. incidentally, I use 1D signal FFT forward and inverse FFT transforms, for calculating reponse curves of filters (not speed critical). But I also write audio software and plan to use 1D FFTs for them in the future (and then they will be time-critical).

Any IPP function that can not be easily tiled, requires internal threading, like

• Fast Fourier Transform

• Discrete Cosine Transform

• Wavelet Transforms

As a sidebar, I note that of the many IPP functions I tried, most were quite fast, with the exception of

• 32-bit median (see my message on the issue)

• bilateral filter

Regards,

Adriaan van Os

 

0 Kudos
Adriaan_van_Os
New Contributor I
380 Views

Well, maybe the Discrete Cosine Transform is used in actual practice only blocked. If so, then it doesn't belong to the above llist.

Regards,

Adriaan van Os

0 Kudos
Reply