You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Cython multithreading (via openmp) is used in Smd0 for parallel read. This however is currently a bottleneck since one prange loop takes ~1ms to complete as demonstrated in this test.

This test reads 30,000 events from 16 smalldata files. 

Time Spent per Batch (ms)/ BATCH_SIZE1000010001001
Average Time w/o multithreading6.200.630.070.0009
Average Time w prange2.311.090.990.94
Max Time w/o multithreading 15.4913.7913.4513.34
Max Time w prange4.282.693.119.18
Min Time w/o multithreading 1.540.160.010.0 ...
Min Time w prange1.310.920.780.67
Std. Time w/o multithreading 6.562.440.770.08
Std. Time w prange1.390.300.140.13

 

Gdb shows that threads were reused in the case of multithreading thread. 

  • No labels