N3PDF / vegasflow

VegasFlow: accelerating Monte Carlo simulation across multiple hardware platforms
https://vegasflow.readthedocs.io
Apache License 2.0
34 stars 9 forks source link

adding benchmark files #28

Closed scarrazza closed 4 years ago

scarrazza commented 4 years ago

@scarlehoff just give me your ok, so I can start running the benchmark on different systems.

scarrazza commented 4 years ago

~20 mins on dom:

Result for iteration 0: 446.8615 +/- 28.5136(took 229.28479 s) Result for iteration 1: 421.6142 +/- 1.4214(took 218.46889 s) Result for iteration 2: 423.9259 +/- 0.0903(took 198.10642 s) Result for iteration 3: 423.9577 +/- 0.0345(took 189.00550 s) Result for iteration 4: 423.9370 +/- 0.0309(took 200.56243 s) Final results: 423.944 +/- 0.0222885 time (s): 1035.4299914836884

scarlehoff commented 4 years ago

I've just added a file with the benchmark of all the hardware available in dom done with lepage_tf.py Some examples; CPU:

> > Running for 1 cores
Result for iteration 0: 1.0014 +/- 0.0016(took 183.68281 s)
Result for iteration 1: 1.0000 +/- 0.0001(took 181.56815 s)
Result for iteration 2: 1.0000 +/- 0.0000(took 181.75752 s)
> > Running for 18 cores                                                                                                                                                                                                                                                                                                                                    
Result for iteration 0: 0.9996 +/- 0.0016(took 25.91300 s)                                                                                                                                                                                                                                                                                                  
Result for iteration 1: 0.9999 +/- 0.0001(took 23.89571 s)                                                                                                                                                                                                                                                                                                  
Result for iteration 2: 1.0000 +/- 0.0000(took 23.849
> > Running for 36 cores
Result for iteration 0: 1.0014 +/- 0.0016(took 24.05363 s)
Result for iteration 1: 1.0000 +/- 0.0001(took 22.18675 s)
Result for iteration 2: 1.0000 +/- 0.0000(took 22.22529 s)

GPU (always 4 cores)

 > > Running on Titan V
Result for iteration 0: 1.0027 +/- 0.0016(took 15.81032 s)
Result for iteration 1: 0.9999 +/- 0.0001(took 10.23507 s)
Result for iteration 2: 1.0000 +/- 0.0000(took 10.59707 s)
 > > Running on RTX 2080 Ti
Result for iteration 0: 1.0001 +/- 0.0016(took 16.64689 s)
Result for iteration 1: 1.0000 +/- 0.0001(took 10.68212 s)
Result for iteration 2: 1.0000 +/- 0.0000(took 10.30052 s)
 > > Running on Titan V and RTX 2080 Ti
Result for iteration 0: 0.9994 +/- 0.0016(took 11.65226 s)
Result for iteration 1: 1.0000 +/- 0.0001(took 7.90674 s)
Result for iteration 2: 1.0000 +/- 0.0000(took 7.93276 s)

Even if the CPU is really good, you still get a more than 50% reduction on the speed when you enable the GPU. This is already a really amazing feat.

scarlehoff commented 4 years ago

Superseded by #34