Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Bock__Thomas
Beginner
97 Views

IppiFilterBorderSpec

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
97 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.

BMart1
New Contributor II
97 Views

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

Chao_Y_Intel
Employee
97 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

Reply