Offline leads meeting notes – 4/30/25
Attendees: Thomas Junk, Giuseppe Cerati, Erica Snider, Katherine Lato
Executive summary:
- Let us know what your plans are with respect to validating / migrating to Geant4 11.2 or 11.3
- Let us know what your plans are with respect to validating / migrating to GENIE 3.06
- Select version of Spack to work with and work on Spack recipes for experiment code in anticipation of Spack v1.0
- Review the L2 managers and experiment contacts listed here:
- https://larsoft.github.io/LArSoftWiki/LArSoftInternals/Informal_list_of_experiment_contacts
- GitHub L2 managers: https://github.com/orgs/LArSoft/teams/level-2-managers
- For the list of experiment contacts, we want to include people we call when things go wrong, plus the L2 managers and the offline leadership (ie, the people who should be in larsoft-coordination email list). Please send names and roles.
Erica opens meeting on following topics
- Phlex migration
- A migration will be necessary at some point as support shifts away from art to Phlex.
- Have started thinking about this, but have no concrete plans as we are too early in Phlex development.
- That said, following LArSoft published coding guidelines and principles, in particular separation of interface from algorithm code, will make migration fairly straight-forward and minimize effort needed.
- Suggest experiments identify important production code for compliance with coding guidelines
- Noted that “separation” allows some things to bleed over: elements of event data model, message-facility, FHiCL parameter sets, etc. These may change under Phlex
- Tom: Converting DAC code to offline (a job that gets handed to me), they use an ATLAS thing in place of message-facility. I have to swap in message things. Not hard, but I don’t know how to automate it.
- Erica: Maybe abstracting the interface can solve this?
- Tom: A lot of people use C-out? General issue, if there’s a tool that is provided, do we have to use it?
- Erica: Depends. For debugging, can use whatever. Otherwise, you need to think about the objective for the code you have. If LArSoft code, it needs to work for multiple experiments, so a common tool / facility / interface is needed.
- Tom: Are experiments other than DUNE excited about Phlex?
- DUNE is the only one arguing they need it, so expect not. Part of the Phlex plan is that it be able to replicate as closely as possible what you’re able to do in art. Don’t know what this means yet, but hope is that it minimizes pain of migration.
- Geant4 update?
- V10_20_00rc0 = Geant4 11.2.p02 (from Nov 21, 2024). Have heard of no plans or efforts to validate.
- Please let us know what your plans are. If you don’t want to migrate, let us know that too.
- New Geant4 patch release available, 11.3.2
- https://geant4.web.cern.ch/download/release-notes/notes-v11.3.2.txt
- Allows (but not by default) using Bertini as it was in 10.6 through 11.2
- The default Bertini in 11.3.0 has an update that broke a number of distributions. Does not model a lot of HARP data any more
- Do not yet have a release candidate based on 11.3.2.
- It would be useful to be using a release that is supported by the Geant4 team. They have also been working hard to improve hadronic interaction modeling, which should be of interest to people working on neutrino flux predictions
- Before we migrate, will need to decide how to deal Legacy experiments (MicroBooNE…), since Legacy LArG4 will no longer be supported.
- Reminder about on-going weekly G4 series:
- Intro / Documentation / General Geant4 LArSoft interface (LArG4) overview – 04/01
- Physics Overview – 04/08
- Geometry/Materials Overview – 04/15
- Hadronic Physics Evolution/Optimization and Validation – 04/22
- Standard/Low EM/Optical Physics Part 1 – 04/29
- Standard/Low EM/Optical Physics, Part 2 – 05/06 <<===== Next
- Hadronic Physics, High Energy – 05/13
- Hadronic Physics, Low energy, including High Precision Neutron Physics – 05/20
- Physics Lists, including Constructors and Factories – 05/27
- (Processing) Kernel Overview – 06/03
- Geometry (Advanced Topics) – 06/10
- Propagation in the Magnetic Field – 06/17
- Genie update to 3.06 (??)
-
-
- Have a release candidate: v10_21_00rc0: GENIE 3.06.00 (from Mar 25, 2025)
- Experiment plans?
- Ideally decouple GENIE, but not possible until we migrate to Spack.
- Hope this capability to appear quickly after Spack migration
- Intent is the version of GENIE will be flexible. LArSoft should be able to be tested with different versions of GENIE.
- Ideally decouple GENIE, but not possible until we migrate to Spack.
- Please let us know what your plans are.
-
-
- Need updates to contact lists
-
- Please review and let us know of any additions / changes, Name + role
- Spack migration plan pre-discussion
- Discuss action items for experiments
- Note that there will not be a recipe tutorial. Too much doc on the web
- Note that it does not address a CI solution under Spack. In discussion with Adam, believe we should be able to migrate current system at low cost, so expect that to be the default until a decision on GitHub Actions solution
- Tom: User has onus to build the right chain?
- E: Right. MPD is a development tool. Building releases, don’t need MPD. In principle, could do that now.
- T: I can build Spack in DUNE without MPD, but I have to build everything.
-
- Spack migration plan
- Have an outline for migration plan developed during recent discussion with Spack migration lead. The basic plan:
- Spack migration plan
-
-
- Spack development phase
-
-
-
-
- First production release will be v1.0. Need to wait for this to be released before formal migration can occur.
- Timescale is summer, as in mid June. As of writing, appear to still be on track
- Write, validate document that describes detailed, technical procedure for creating a release of LArSoft using a well defined set of tools and steps
- Presumably trivially extensible to experiment code
- Write, validate documentation on MPD and Fermilab Spack environment
- Separately target release managers and end users
- First production release will be v1.0. Need to wait for this to be released before formal migration can occur.
-
-
-
-
- Pre Spack v1.0 work for experiments
-
-
-
-
- Select a Spack release on which to base work. Spack team will offer recommendations
- Create experiment-specific repository for base experiment code recipes
- Prepare and test recipes for experiment code and dependencies for which recipes not already available
- Rely on Spack documentation and tutorials for this.
- Spack migration team claims online materials are excellent, and sufficient for otherwise experienced people coming in fresh. Consequently, the migration team plans no tutorials or additional documentation beyond that noted above.
- To make fixes, submit PR for recipes either to Spack, LArSoft or experiment recipe repositories, as appropriate
- Rely on Spack documentation and tutorials for this.
-
-
-
-
-
-
-
- Tom: Merging pull requests…some work required to make [recipes?/spack?] work
-
-
-
-
-
-
-
-
-
- E: Objective for v1.0 is to separate Spack and recipe repositories. So plan is to get all that fixed prior to v1.0
-
-
-
-
-
-
-
-
-
- T: things are big, and stuff will break on the head of the product recipes
-
-
-
-
-
-
-
-
-
- E: It’s possible. So should try to establish releases for recipe repositories. It is also possible that Spack v1.0 isn’t what we’ll need. It’s 1.1 or 1.2, … Will just need to wait and see
-
-
-
-
-
-
-
-
-
- T: Can’t believe we’re the only people seeing that things aren’t always right.
-
-
-
-
-
-
-
-
-
- E: These things affect the entire community. [??]
-
-
-
-
-
-
-
-
-
- E: [??] if those aren’t sufficient, let us know. Can submit PRs to Spack, LArSoft, wherever it’s appropriate.
-
-
-
-
-
-
-
-
-
- T: Spack didn’t seem to be exactly designed to do what we’re doing. Usability is an issue sometimes. Default configuration scope is home directory, which means that if two things are going at the same time, one project could interfere with the other.
-
-
-
-
-
-
-
-
-
- E: If no one raised an alarm about it at the right level, then it won’t be addressed.
-
-
-
-
-
-
-
- Identify cases where migration to AL9 is not possible
- Define procedures for handling these presumably rare cases
- Identify cases where migration to AL9 is not possible
-
-
-
-
- Post Spack v1.0 work
-
-
-
-
- LArSoft:
- Make AL9 releases of LArSoft under Spack based on release policy [which is basically the same as it is now]
- In parallel, make SL7 releases under UPS
- Work with experiments to define the time window during which SL7 builds will be released
- CSAID may put a timeline on phase-out of SL7 containers
- Experiments
- Complete necessary recipe changes
- Start building AL9 releases of experiment code using Spack
- Validate software development procedures
- Validate releases under AL9
- In parallel, create SL7 releases under UPS
- When AL9 validations are completed, cease SL7/UPS builds of experiment code
- LArSoft
- Cease regular SL7 builds when all experiments have migrated
- LArSoft:
-
-
- Discussion
-
- Starting now, if you have cycles to work on migration, you should choose a version of Spack and work on recipes.
-
- G: For SBN, there have been Spack builds for running on Polaris. I need to figure out the setup, but given this, things should be straight-forward.
-
- E: It is possible that the recipes have changed, but hopefully it will be straight-forward.
-
- G: What needs to happen between now and June.
-
- E: Choose a Spack release, create a repository for your recipes, make sure the recipes work for your code and that version of Spack. (No cases in SBN where AL9 migration is impossible.)
-
- G: What needs to happen on LArSoft side?
-
- E: We’ve already built with AL9 and have a Spack recipe repository, and LArSoft is one of the test cases for Spack migration. So as soon as v1.0 is ready, I think LArSoft will be ready to begin building standard releases
-
- G: Is the development environment ready too?
-
- E: Part of Spack v1.0 development is to address needs of MPD, so Spack v1.0 will deliver the development environment with MPD.
Please email Katherine Lato or Erica Snider for any corrections or additions to these notes.