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

Intel IPP memory alignment required or optional?

Briard__David
Novice
741 Views

Hi all,

I am using Intel IPP in a project and it works great most of the time, but I still have few unexpected memory access violations.

Could you confirm that memory alignment is optional in every ipp function? I often work with ROI in images and so ROI buffers are no necessary aligned.

Is there any known bug with ippiCopy, ippiScale or ippiSwapColor? In my program I removed all the code except image format conversion based on the three listed functions and it occasionnaly crash.

For information, my main app is C# and WPF and I have a C++ DLL which contains calls to IPP function. I only use SSE2 optimized dlls.

I checked and double-checked everything. This is really strange...

Also, does any one know if we could use IPP with Visual Studio 2017? At the moment it is not listed at the install stage and I did not found any information on update for VS2017.

Thank you,
David

0 Kudos
3 Replies
Andrey_B_Intel
Employee
741 Views

Hi David.

The memory alignment is desirable by performance reason but not necessary in most of IPP function. Also some IPP functions have different code branches for aligned and nonaligned case. So if there is bug in one of branches - you will see crash if memory is aligned/not aligned. Also may be your application allocates not enough memory and  IPP functions read extra memory assuming that this memory is available. Also there can be a lot of reasons of such crash. Could you please provide small C reproducer of your case?

Thanks for your question.

0 Kudos
Briard__David
Novice
741 Views

Hi Andrew,

Thanks for confirming that memory alignment is just recommended for performance reasons, but not required.
My app is huge but I will try to see I am could provide a repro code in a small sample app.

Best regards,

 

0 Kudos
SergeyKostrov
Valued Contributor II
741 Views
>>Also, does any one know if we could use IPP with Visual Studio 2017? Intel performance libraries, IPP or MKL, do not have any dependencies on Visual Studio 2017 components and designed / implemented to have dependencies on Instruction Set Architectures ( ISAs ). If a standalone IPP test is working on a Windows operating system, and VS 2017 is also working on the same operating system, then no problems should exist in case when IPP is used with an application built using VS 2017.
0 Kudos
Reply