SN@ilWare tests

1 Test of time consumption of Geiger cell locators

A very basic benchmark between Geiger step hit processors. It provides benchmarks for Geiger cell locators used through gg_step_hit_processor.

1.1 Basic locators i.e. geomtools::smart_id_locator

Test done over 10 ββ events : 5,04s user 0,21s system 94% cpu 5,580 total

[debug:virtual snemo::simulation::gg_step_hit_processor::~gg_step_hit_processor():86] CT1:
|-- System dead time   : 0.02 us
|-- Count(s)      : 3818
|-- Sum time      : 0.67477 s
|-- Min time      : 3.8e-05 s
|-- Max time      : 0.022092 s
|-- Sum squ. time : 0.00322718 s²
|-- Total time    : 0.674617 s
|-- Mean time     : 0.000176734 s
|-- Sigma time    : 0.000902231 s
`-- Last elapsed time : 0.000632 s
[debug:virtual snemo::simulation::gg_step_hit_processor::~gg_step_hit_processor():88] CT2:
|-- System dead time   : 0.02 us
|-- Count(s)      : 3818
|-- Sum time      : 0.11833 s
|-- Min time      : 1.2e-05 s
|-- Max time      : 0.000174 s
|-- Sum squ. time : 4.73233e-06 s²
|-- Total time    : 0.118177 s
|-- Mean time     : 3.09927e-05 s
|-- Sigma time    : 1.67013e-05 s
`-- Last elapsed time : 2.8e-05 s

1.2 Fast locators i.e. snemo::geometry::gg_locator

Test done over 10 ββ events : 4,91s user 0,21s system 92% cpu 5,526 total

[debug:virtual snemo::simulation::gg_step_hit_processor::~gg_step_hit_processor():86] CT1:
|-- System dead time   : 0.02 us
|-- Count(s)      : 3818
|-- Sum time      : 0.566923 s
|-- Min time      : 3.8e-05 s
|-- Max time      : 0.023215 s
|-- Sum squ. time : 0.00409515 s²
|-- Total time    : 0.56677 s
|-- Mean time     : 0.000148487 s
|-- Sigma time    : 0.00102496 s
`-- Last elapsed time : 9e-05 s
[debug:virtual snemo::simulation::gg_step_hit_processor::~gg_step_hit_processor():88] CT2:
|-- System dead time   : 0.02 us
|-- Count(s)      : 3818
|-- Sum time      : 0.136664 s
|-- Min time      : 1.3e-05 s
|-- Max time      : 0.000189 s
|-- Sum squ. time : 6.29567e-06 s²
|-- Total time    : 0.136511 s
|-- Mean time     : 3.57947e-05 s
|-- Sigma time    : 1.91751e-05 s
`-- Last elapsed time : 3.5e-05 s

Test done over 100 ββ events : 12,90s user 1,36s system 77% cpu 18,462 total

[debug:virtual snemo::simulation::gg_step_hit_processor::~gg_step_hit_processor():86] CT1:
|-- System dead time   : 0.02 us
|-- Count(s)      : 31222
|-- Sum time      : 5.60871 s
|-- Min time      : 2e-05 s
|-- Max time      : 0.029084 s
|-- Sum squ. time : 0.0535734 s²
|-- Total time    : 5.60746 s
|-- Mean time     : 0.00017964 s
|-- Sigma time    : 0.00129754 s
`-- Last elapsed time : 8.3e-05 s
[debug:virtual snemo::simulation::gg_step_hit_processor::~gg_step_hit_processor():88] CT2:
|-- System dead time   : 0.02 us
|-- Count(s)      : 31222
|-- Sum time      : 1.22921 s
|-- Min time      : 1.2e-05 s
|-- Max time      : 0.000322 s
|-- Sum squ. time : 6.07789e-05 s²
|-- Total time    : 1.22796 s
|-- Mean time     : 3.93701e-05 s
|-- Sigma time    : 1.99164e-05 s
`-- Last elapsed time : 2.9e-05 s

2 SN@ilWare simulations : comparison between legacy and development branch

2.1 Introduction

Since the switch to the new Cadfael/Bayeux/Falaise software suite, some time latency has been found when simulating SuperNEMO events. For instance, simulating 2β events on Lyon cluster was taking 20 minutes for 10 000 events when it takes now more than 2 hours.

The purpose of this note is to investigate where the time processing is going by comparing on a basic simulation setup the legacy code with the trunk development branch.

2.2 Installation of legacy branch

2.2.1 Cadfael

To install the legacy branch, we use the aggregator script file and its latest revision to get Cadfael legacy version. This will install Cadfael within ~/Workdir/NEMO/supernemo/development directory for the following software versions :

  • GSL version 1.16
  • Xerces-C version 3.1.1
  • CAMP version 0.7.1
  • CLHEP version 2.1.3.1
  • Geant4 version 9.6p01
  • Boost version 1.55.0
  • ROOT version 5.34.14

In order to properly setup Cadfael components, do

aggregator setup cadfael

You must be sure to run the master branch of the aggregator script, otherwise it will setup the new Cadfael configuration

2.2.2 Bayeux

To setup Bayeux as a standalone library, you should use the snailware script and do

snailware setup bayeux

2.3 Simulation setup

For comparison we will use a very simple setup that we will work for both software version. The setup is stored here : it defines a very basic geometry setup with a gas volume + a scintillator material. On this machine, the setup is installed ~/Workdir/NEMO/supernemo/simulations/bayeux_simulation_modules/geant4_validation directory. Given the module + simulation setup have been installed, the processing is done by

dpp_processing                                                                                                                                   \
    --dlls-config ~/Workdir/NEMO/supernemo/simulations/bayeux_simulation_modules/geant4_validation/config/pipeline/dlls.conf                     \
    -l geomtools -l mctools_g4 -l mctools_bio                                                                                                    \
    --module-manager-config ~/Workdir/NEMO/supernemo/simulations/bayeux_simulation_modules/geant4_validation/config/pipeline/module_manager.conf \
    --module geant4_simulation_module                                                                                                            \
    -M 100 --logging-priority trace
File under version control - commit 1b7d8a5 - 2015-10-19