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

IppiFilterBorderSpec

Bock__Thomas
Beginner
409 Views

Hello,

 

I'm working on a parallel working programm, which initializes the ippiFilterBorderSpec struct using ippiFilterBorderInit_32f function in a other thread, than it is later used. When the initialization of all ippiFilterBorderSpecs is done (I use a arbitrary number), they were copyed at a syncronized place, so that the thread using ippiFilterBorder_32f_C1R function doesn't have to do the initialzation due to performance. After any parameter change the ippiFilterBorderSpecs were new initialized and I see, that the content of the ippiFilterBorderSpec struct differs on two places, although the same input parameters were used. The differences appear at byte  80 and byte 96 in the structure, counting from 0. I don't understand why they should differ? Can somebody please tell me more about the composition of the ippiFilterBorderSpec?

 

Thank & regards,

Hans

 

 

0 Kudos
3 Replies
Andrey_B_Intel
Employee
409 Views

Hi Hans.

Are your pointers provided to ippiFilterBorder_32f_C1R aligned on 64 byte? It is not necessary because ippiFilterBorderGetSize requests memory size with reserve for such alignment. But in this case contents of two specs may differ. 

Thanks for your question.

0 Kudos
BMart1
New Contributor II
409 Views

Maybe IppiFilterBorderSpec​ has internal pointers, like IppiResizeSpec. Don't memcpy the struct, just share the pointer.

0 Kudos
Chao_Y_Intel
Moderator
409 Views

 A "spec" structure can shared by the different calls if they are having the same parameters.  so it does not need to create another copy.

Thanks,
Chao

0 Kudos
Reply