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

ippsFirMR speed

Sorin_Goldenberg
Beginner
383 Views

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
383 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

0 Kudos
Igor_A_Intel
Employee
383 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

 

0 Kudos
Sorin_Goldenberg
Beginner
383 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

0 Kudos
Chao_Y_Intel
Moderator
383 Views
0 Kudos
Reply