Intel® Integrated Performance Primitives

Parallel Image Processing in OpenMP - Image Blocks

Parallel Image Processing in OpenMP - Image Blocks

I'm doing my first steps in the OpenMP world.

I have an image I want to apply a filter on.
Since the image is large I wanted to break it into blocks and apply the filter on each independently in parallel.
Namely, I'm creating 4 images I want to have different threads.

I'm using Intel IPP for the handling of the images and the function to apply on each sub image.

I described the code here:

ipp lead to decrease performance


i have a system with 15 -750 cpu and windows 8.1 and I use IPP8.2 .

my program have a greate number Array Mul ,Div or sqrt.

i write a small code with ipp and use both ippm and ipps for mul array and compare that code performance with my simple array mul.

my code is this:


    Ipp64f* src=new Ipp64f[200]();
    for(int i=0;i<200;i++)
        src[i]=i; // initialize source array with values
    Ipp64f* res=new Ipp64f[200]();

Using IPP in a library

This question may have been asked before, but it's kinda hard to find something using the combination of IPP and Library...

I need to build a Windows library (.lib) for someone and I'm using XE2015 with IPP 8.2. I have built the library here, with 'Using Intel IPP' set to 'Single Threaded Static Library'. I also made a small program to test it, which also needs 'Using Intel IPP' set to the same value, and that works fine.

How to use IIR functions for variable filters with multiple states?


I'm currently investigating IPP 8 and have a few problems with the biquad IIR support:

- ippsIIRInitAlloc is now deprecated, fine by me, we can allocate manually. However I need to be able to changes the IIR taps WITHOUT changing the filter state. ippsIIRInit seems to destroy the delay line, which makes it unusable. So the only way to change taps without using deprecated functions is to copy the delay line and set it back with ippsIIRInit, which is unacceptable. So what am I missing?

1D Box Blur


I want to impelment fast 1D Box Blur on an image.
I saw IPP's function 'SumWindowColumns' and 'SumWindowRow':

I was wondering, do they have efficient implementation which is independent of the Kernel Size?
This could be done using Integral Images or the trick to add a pixel and remove one.

ippsIIRGetStateSize returns HUGE numbers


I'm currently checking IPP 8 and it is saying that many functions related to memory allocation are deprecated. I understand the point, so I'm checking the ways to get the memory allocations done. 


int sz;
ippsIIRGetStateSize_BiQuad_32f(1, &sz); => 4576!!!
ippsIIRGetStateSize_BiQuad_64f(1, &sz); => 8560!!!
ippsIIRGetStateSize64f_BiQuad_32f(1, &sz); => 16752!!!

64 bit equivalent of ippiResizeCubic_32f_C1R and ippiResizeCubicInit_32f

I am modifying an existing code that  changes an image size using interpolation with two-parameter cubic filters. Current implementation is in 32 bits. I am implementing it for 64 bit. 32 bit implementation use methods ippiResizeCubic_32f_C1R, ippiResizeCubicInit_32f for resizing. I need their 64 bit equivalents. But documentation in links and shows that their 64 bit is not available.

Where are the IPP DLLs in w_inde_2015.1.016.exe


I just installed the evaluation of IPP from INDE, and I can see the .h files,  and the .lib files, but I cannot see the .DLL files.

I searched, and they do not appear on my disk.

Are they installed with the evaluation?

How do I get the IPP DLL files for evaluation?

Have the DLL files been removed from 8.x ? Where is this documented?

Thanks in advance.

Here is the heirarchy I see:

S’abonner à Intel® Integrated Performance Primitives