Update Supera and LArCV2 dependencies to significantly reduce run-tim…#657
Conversation
|
Some test results: BenchmarkingWith sbncode v10_06_00_12: end_path:superaMC:LArSoftSuperaDriver takes 907 seconds on the reference event, for a total of 970 seconds for all of stage1 on the single event. With this branch: end_path:superaMC:LArSoftSuperaDriver takes 18 seconds on the reference event, for a total of 71 seconds for all of stage1 on the single event. Equality Testing (ICARUS)Ran a single reference event through standard v10_06_00_12 of icaruscode and one built against the new version. A test script was set up to evaluate byte-for-byte equality of trees: Compared 43 trees Equality Testing (SBND)Repeated the same process: testing the previous version of Compared 38 trees
These last two are caused by a change to LArCV2, which is folded into this feature branch as an updated dependency. The update to LArCV2 initializes certain fields in the CRTHit object, which previously went uninitialized. This is not concerning. Everything checks out! |
|
Re-opening (ready for review) |
Description
Please provide a detailed description of the changes this pull request introduces. If available, also link to a docdb link where the issue/change have been presented on/discussed.
Addresses issue #656. The Supera run-time was dominating stage1 processing of ICARUS Overlay MC, costing more than 10 minutes per event in some cases.
@francois-drielsma has debugged and found a significant hot spot in the LArCV2 dependence, along with some sub-leading hot spots. This fix is implemented as a migration to Supera v1.0.0 and LArCV2 v2.1.4.
The feature branch compiles and has reduced run time on a test event from 800+ seconds down to 17 seconds.