Intel® Integrated Performance Primitives

Super-resolution image (huge image) support in Intel® IPP 2017 Beta

Intel® IPP 2017 Beta introduced the new APIs (Intel® IPP 64x functions) that can support 64-bit data length in the image and signal processing domains.  The Intel® IPP 64x functions are implemented as wrappers over Intel® IPP functions operating on 32-bit sizes by using tiling and multithreading. The 64x APIs support external threading for Intel® IPP functions, and are provided in the form of source and pre-built binaries.

Attached is the file provide a quick summary for these functions.   Your feedback is welcome if you have chance to evaluate these new APIs.

Intel® IPP 9.0 Update 3 is available

Intel® IPP 9.0 Update 3 is now available.  IPP 9.0.x release added the new Intel® AVX-512 optimization for the computer vision and image processing functions, extended optimization for Intel® Atom™ and Intel® Quark™ processors, and included the new APIs to support external threading.

What's New in Intel® IPP 9.0 Update 3:

  • Improved zlib decompression performance for small data for Intel® 64 architectures.

Does IPP support partitioned convolution for real time FIR processing

I've looked through the documentation and it's not clear if IPP can process a FIR using partitioned FFT convolution for use in real time applications. All the example seem to be for offline use. The streaming FIR example seems to be very slow for a FIR with 32K taps compared to partitioned FFT convolution when the sample buffer is around 128 on each call.

ippiHistogram_8u_C1R problem

Dear all,

I am trying to use ippiHistogram. The problem is - the last (256) byte of histogram result buffer is not filled by ippiHistogram_8u_C1R. 
I have tried to use ippiHistogramInit instead of ippiHistogramUniformInit - the result is the same.
Previously I used iplComputeHisto function - it had worked correctly. 
For example iplComputeHisto returns pHistVec[255] = 1226, but ippiHistogram_8u_C1R returns pHistVec[255] = 1393896807 

I use IPPI version 9 Update 1.

Please, explain, how can I get last histogram value? Thank you!

IPP 9.1: ippiFilterGetBufSize_64f_C1R returning 0 buffer size for scalar kernel.



I am seeing an issue with the ippiFilterGetBufSize_64f_C1R function, which returns a buffer size of 0 for a edge case - scalar kernels. This is seen only on SSE4 machines with IPP 9.1. This was not seen in IPP8.1.

This issue can be reproduced with the following function call, with a Kernel size of (1,1) and a ROI width of 2.

 ippiFilterGetBufSize_64f_C1R(kernelSize, dstRoiSize.width, &pBufferSize);

Is this a bug in IPP9.1?



shared memory with pre allocate ipp memory


I'm working on windows platform.

I have one application (process) that generate data to a second application (different process). The second app is doing some heavy signal processing computation using the ipp functions. I would like to pre-allocate the shared memory with ippMalloc. Can anyone please help my understand how i do such thing ? 


Missing ipp_zlib in IPP 9.0 Update 3?


I've decided to try out the IPP version of zlib, but its <ipp directory>/interfaces/data-compression/ipp_zlib folder (according to the documentation seems to be missing in IPP 9.0 Update 3 (both Linux and Windows).  I'd be very grateful for any advice.


2D Wavelet example test implementation problem

I am having a problem with ref. Below is my implementation. The forward transform works fine, I can see the 4 output images look good. The problem is with the inverse, its output (to be the same image dimensions as the input image, image is square (orgWidth==orgHeight)) has aliasing and it looks like every second row and every second column content is blank. I can't find a way to embed an output image here. Please let me know how I can get that to you in case you want to take a look.

Can you please check and see what the problem may be?

Thank you!!

IppiWarpQuad regression compared to Ipp 7.1 IppiWarpPerspectiveQuad

Hello all.

My company recently switched to Ipp 9.0 Update 3 (was Ipp 7.1), and I changed our internal libraries to reflect the changes the warping functions.

After getting really strange behavior changes in our high-level code, I tracked the differences to a change in images that we used to warp with ippiWarpPerspectiveQuad_8u_[mod] (Ipp 7.1) but now warp using ippiWarpQuadCubicInit and ippiWarpPerspectiveCubic_8u_[mod] (Ipp 9.0U3):

ipprFilter for 32f volume data?


Is there any plan to add the 32f_C1PV datatype for the ipprFilter function? In particular, I apply large (9x9x9) Gaussian filters to volume data extensively, and currently do it by a two-step call to ippiFilterGaussianBorder_32f_C1R, once for XY-planes, and once for Z-planes. This incurs a lot of data transfer overhead, especially for filtering in Z. A single call to a ipprFilter_32f_C1PV, or a  ipprFilterGaussianBorder_32f_C1PV would be a huge help.



Подписаться на Intel® Integrated Performance Primitives