Intel® Integrated Performance Primitives

Intel® IPP 2018 Update 1 is now available

Intel® IPP 2018 Update 1 is now available. Intel(R) IPP 2018 release added new functions to support the LZ4 data compression, introduced the standalone cryptography packages, and added the optimization code for the GraphicsMagick source.  Intel IPP 2018 Update 1 added new Platform-Aware APIs, and extended optimization for Intel® AVX-512 and Intel® SSE4.2 instruction set.

Check Intel® IPP 2018 Update 1 release notes to learn more information.

ippsRSA_Decrypt is slower in application level multi-thread

I do ippsRSA_Decrypt in tow threads running in different CPU core at same time, it will cost more time than in only one thread.

I linked the single-thread lib, it is thread-safe and none nested parallelization, but why efficiency is degraded in this case?

ippiErode_1u_C1R_L , minimum example crashing

I did not find an example online, so I figure out by myself how to use it from header file, but
the SIGSEGV recalls me that I need to better understand.

So here is the example and the output , I use compilers_and_libraries_2017.1.132 

#include <iostream>
#include <dlfcn.h>
#include <ippbase.h>
#include <ipptypes.h>
#include <ipp.h>

using std::cout;
using std::endl;

void erodeAlongXAxis(Ipp8u *input,int w, int h, int kernelWidth) {
    IppiSizeL roiSizeL;
    roiSizeL.width = w;
    roiSizeL.height = h;

    IppiSize roiSize;

Issues using ipp crypto 2018 update 1 with linux gcc

Using the following:

gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516

Have been able to build and run ipp apps with no problem.

Using the crypto standalone product, trying to build the ippcp getting started app:

command line:

ippiFilterBorder_32f_C1R with ipp16s kernel

Is this combination supposed to work? It appears that this border filter results in memory corruption if the kernel specified is 16s rather than 32f (in ippiFilterBorderInit_16s rather than ippiFilterBorderInit_32f). Other pixel types (e.g., 16u, 16s, 8u) work with both types of kernel, but the 32f pixel type appears to operate correctly only with a 32f kernel. The workaround is easy enough (i.e., use a float kernel for float pixels), but the documentation and return code do not indicate that the 16s kernel is not supported for 32f pixels. This is with the 2018 update 1 version of IPP.

Zoom / Filter question


I need to filter, zoom and pan an image. My implementation first filters the source image (smoothing or sharpening), then using Lanczos resizing, zooms and pans it into an output image. After spending a lot of time to get this working I sadly realize that these 2 steps (one is filtering and one is Lanczos resizing) end up being too slow for real-time interaction.

With that my question is, is there a resize function which allows one to set a convolution filter?

Thank you!

Morphological filters problem


I am using IPP 2018 update 1 as single-threaded static library on Visual Studio 2015. My runtime environments is Intel® Core™ i7-3770 CPU @ 3.40GHz on Windows 7.

I found a problem with the following morphological filters:

  • ippiMorphOpenBorder_32f_C1R,
  • ippiMorphTophatBorder_32f_C1R.

Could you please confirm the problem and tell when you could fix it?

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