Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Chao_Y_Intel
Employee
125 Views

Intel® IPP integration wrappers, the easy-to-use APIs for Intel IPP functions

Dear Users,

Intel® IPP Introduced the new integration wrappers, which provides the easy-to-use APIs to add Intel® IPP functions into your applications. 

Intel® IPP integration wrappers provides both the C and C++ interfaces:

  • C interface aggregates Intel IPP functions of similar functionality with various data types and channels into one function. Initialization steps required by several Intel IPP functions are implemented in one initialization function for each functionality. To reduce the size of your code and save time required for integration, the wrappers handle all memory management and Intel IPP function selection routines.

  • C++ interface wraps around the C interface to provide default parameters, easily initialized objects as parameters, exception handling, and objects for complex Intel IPP functions with automatic memory management for specification structures.

The integration wrappers also provide easy interfaces to support external threading of Intel® IPP functions.

Please check the article “Integration Wrappers for Intel® Integrated Performance Primitives (Intel® IPP)” to learn more information.

A technical preview of Integration Wrappers functionality is now available. Check here to find the downloading instructions, and documentation.

Your feedback on these APIs matters. If you have any questions or feedback, please post comments below, or contact us by the Intel Premier Support.

0 Kudos
7 Replies
BMart1
New Contributor II
125 Views

int main()
{
    ipp::IwiImage i0;
    Check(i0.Alloc({ 12, 12 }, ipp8u, ippC1));
    ipp::IwiImage i1(i0);

}

and

int main()
{
    ipp::IwiImage i0;
    Check(i0.Alloc({ 0, 0 }, ipp8u, ippC1));
}

crash.

Pavel_V_Intel
Employee
125 Views

Hello Bruno,

What version of wrappers are you using? I need it to check the first case.

Second case should throw ipp::IwException object by design.

BMart1
New Contributor II
125 Views

I'm using version 2017.0.2. I suspect the first case is because c++ IwiImage has a constructor that takes a C IwiImage const&, but doesn't count as a copy ctor, which is then autogenerated by the compiler.

Pavel_V_Intel
Employee
125 Views

Yes, copy constructor for C++ object is missing. We will fix this.

Thank you.

Note that IppChannels is not a valid enumerator to set channels for Integration Wrappers. They use simple int channels number.

BMart1
New Contributor II
125 Views

Thanks for the warning about IppChannels.

BMart1
New Contributor II
125 Views

IwiImage should have const and non const versions of ptr()

Chao_Y_Intel
Employee
125 Views

thanks,  Bruno for the feedback.  I will track for the future improvement.

Regards,
Chao

Reply