Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Sorin_Goldenberg
Beginner
41 Views

ippsFirMR speed

Any idea why the function in a multithreaded program is working at about 1/4 speed than when it works in a single thread?

I am benchmarking the net performance of the functions (it doesn't include any waits, locks, anything)?

 

Thanks

 

Soroin

0 Kudos
4 Replies
Jonghak_K_Intel
Employee
41 Views

Hi Soroin

can we see your test code ?

If multiple threads work on resource that should be accessed by one thread at a time, there could be performance loss for the reason of concurrency control.

- Jon

Igor_A_Intel
Employee
41 Views

Hi Sorin,

could you provide a reproducer? Each IPP release is distributed with IPP PS (perf system) - therefore you can try 2 executable (with -B -r -fFIRMR switches) and compare results from corresponding CSV files:

ps_ipps_mrg_compl_mt.exe (mt==multithreaded) or
ps_ipps_mrg_compl_st.exe (st == singlethreaded)

or run ps_ipps_pcs.exe with multi-threaded dlls/shared objects and single-threaded.

I see good scalability for numIters >= 2K and tapsLen >= 32 (FIRMR has internal criterions on input parameters and mt-code works only for rather large filter orders and number of iterations (also depends on architecture)).

regards, Igor

 

Sorin_Goldenberg
Beginner
41 Views

The ipp is run as single threaded IPP. Multithreading is achieved externally.

What is IPP PS (perf system)?

I work on Windows.

Thanks,

Sorin

Chao_Y_Intel
Employee
41 Views