Skip to content

Update Supera and LArCV2 dependencies to significantly reduce run-tim…#657

Merged
hgreenlee merged 2 commits into
release/SBN2025Afrom
feature/mueller_superafix_sbncode_v10_06_00
Jun 30, 2026
Merged

Update Supera and LArCV2 dependencies to significantly reduce run-tim…#657
hgreenlee merged 2 commits into
release/SBN2025Afrom
feature/mueller_superafix_sbncode_v10_06_00

Conversation

@justinjmueller

Copy link
Copy Markdown

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.

  • Have you added a label? (bug/enhancement/physics etc.)
  • Have you assigned at least 1 reviewer?
  • Is this PR related to an open issue / project?
  • Does this PR affect CAF data format? If so, please assign a CAF maintainer as additional reviewer.
  • Does this PR require merging another PR in a different repository (such as sbnanobj/sbnobj etc.)? If so, please link it in the description.
  • Are you submitting this PR on behalf of someone else who made the code changes? If so, please mention them in the description.

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.

@justinjmueller justinjmueller requested a review from jzennamo June 29, 2026 15:49
@justinjmueller justinjmueller added enhancement New feature or request bugfix Addresses one or more bugs labels Jun 29, 2026
@justinjmueller justinjmueller marked this pull request as ready for review June 29, 2026 15:50
@justinjmueller

Copy link
Copy Markdown
Author

Some test results:

Benchmarking

With 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
Compared 1087 leaf branches
Compared 1087 branch baskets
Voxel id/order branches checked byte-for-byte: 36
Voxel value branches checked byte-for-byte: 29
PASS

Equality Testing (SBND)

Repeated the same process: testing the previous version of sbncode against this feature branch. This time:

Compared 38 trees
Compared 1042 leaf branches
Compared 1042 branch baskets
Voxel id/order branches checked byte-for-byte: 27
Voxel value branches checked byte-for-byte: 20
FAIL

  • crthit_crthit_tree;1/crthit_crthit_branch/larcv::CRTHitSet/_crthit_v/_crthit_v._ts0_ns_corr: basket 0 payload mismatch bytes 1020 vs 1020
  • crthit_crthit_tree;1/crthit_crthit_branch/larcv::CRTHitSet/_crthit_v/_crthit_v._ts0_s_corr: basket 0 payload mismatch bytes 1020 vs 1020

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!

@justinjmueller

Copy link
Copy Markdown
Author

Re-opening (ready for review)

@hgreenlee hgreenlee merged commit 3a4ef33 into release/SBN2025A Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix Addresses one or more bugs enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants