I use TBB todo filtering with IPPfunction "ippsFIR_32fc", each thead works on portion of data. But the results are quite strange. I can see a lot of glitch (very large values)into the output data.
The code is as following:
void operator() (const blocked_range
Int begin = r.begin();
Int end = r.end();
Int nIters = end - begin;
ippsFIR_32fc(m_inP + begin, m_outP + begin, nIters, m_stateP);
If I remove the IPP function "ippsFIR_32fc" with "ippsCopy_32f", the multiple thread copy functionality works fine.
Note: I have already use function 'ippSetNumThreads(1)' to set IPP internal OpenMP threads number to 1.
Could you please help me?
Just for now, or do you have a valid motivation? In general it is not advised to (ab)use grainsize to specify the number of chunks (executed subranges), be that O(1) or O(available parallelism).
Unfortunately, 'caosun' user didn't follow up.The problem was related to a re-usingan FIRstate variable, that is
passed tothe ippiFIR*function,by many TBBthreads...
There is a thread in IPP forum and it looks like 'caosun' resolved the problem.
Sorry, I don't know. It is possible that IPP team was busy with implementing a multithreaded support in IPP libraryinstead of
implementing additional features related to Image and Digital SignalProcessing, etc.
By the way, do you know that IPP team is considering a new release of IPP library withoutmultithreading?
I am interested in the new release of IPP library.
Is there any new features? Could you please give me more information on that?