Skip to content

Add NNPuppiTauModel external spec and toolfile#10665

Merged
smuzaffar merged 3 commits into
cms-sw:IB/CMSSW_20_1_X/masterfrom
artlbv:claude/nnpuppitau-externals-migration-u1xa0p
Jul 1, 2026
Merged

Add NNPuppiTauModel external spec and toolfile#10665
smuzaffar merged 3 commits into
cms-sw:IB/CMSSW_20_1_X/masterfrom
artlbv:claude/nnpuppitau-externals-migration-u1xa0p

Conversation

@artlbv

@artlbv artlbv commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the SCRAM build/install plumbing for the new cms-hls4ml/NNPuppiTauModel external package, following the same precedent already used for L1TSC4NGJetModel/AXOL1TL. This package replaces the in-tree, un-namespaced hls4ml weight arrays (w2, b2, ..., w20, b20) previously compiled directly into L1Trigger/Phase2L1ParticleFlow's TauNNIdHW, which were vulnerable to ELF symbol interposition when multiple hls4ml models were loaded into the same process (the bug class behind cms-sw/cmssw#49632).

This is part of a 3-PR migration:

  1. New external repo: cms-hls4ml/NNPuppiTauModel — the externally-built package itself.
  2. This PRcmsdist spec + toolfile so SCRAM builds/installs the new external.
  3. [Phase-2 L1T] Move TauNNIdHW to the externally-built NNPuppiTauModel package cmssw#51263cmssw changes to consume it via hls4mlEmulator::ModelLoader/hls4mlEmulator::Model.

Changes

  • NNPuppiTauModel.spec (new) — RPM spec for the external, modeled on L1TSC4NGJetModel.spec/AXOL1TL.spec: fetches the release tarball from cms-hls4ml/NNPuppiTauModel, builds via make against hls4mlEmulatorExtras/hls, installs into $PREFIX.
  • scram-tools.file/tools/NNPuppiTauModel/nnpuppitaumodel.xml (new) — SCRAM toolfile exposing NNPUPPITAUMODEL_BASE/LIBDIR environment variables for the new external, modeled on l1tsc4ngjetmodel.xml.
  • cmssw-tools.spec — adds Requires: NNPuppiTauModel alongside the existing L1-trigger model externals (L1TSC4NGJetModel, L1TSC82ProngJetModel, etc.), so it's pulled into every CMSSW release.

Dependencies

Requires a tagged release of cms-hls4ml/NNPuppiTauModel to exist before this can build successfully.

PR validation

cms-bot code-checks will perform the first real build test of the spec/toolfile/package Makefile chain. Once this external is available in an IB, cms-sw/cmssw#51263 can build against it.

Wires the new cms-hls4ml/NNPuppiTauModel package into the SCRAM build
following the L1TSC4NGJetModel/AXOL1TL precedent, so TauNNIdHW can load
its weights via hls4mlEmulator::ModelLoader instead of in-tree global
arrays (avoids the symbol-clobbering bug class in cms-sw/cmssw#49632).

Co-authored-by: artlbv <arturlbv@gmail.com>
@cmsbuild

cmsbuild commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@cmsbuild

Copy link
Copy Markdown
Contributor

A new Pull Request was created by @artlbv for branch IB/CMSSW_20_1_X/master.

@akritkbehera, @cmsbuild, @iarspider, @raoatifshad, @smuzaffar can you please review it and eventually sign? Thanks.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.
cms-bot commands are listed here

Comment thread scram-tools.file/tools/NNPuppiTauModel/nnpuppitaumodel.xml Outdated
@smuzaffar

Copy link
Copy Markdown
Contributor

please test

Co-authored-by: Malik Shahzad Muzaffar <shahzad.malik.muzaffar@cern.ch>
@cmsbuild

Copy link
Copy Markdown
Contributor

Pull request #10665 was updated.

@artlbv

artlbv commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Ah the CMS-hls4ml repo does not yet exist! (Only my personal does exist.. @quinnanm @BenjaminRS @thesps could you create one?
The tests are useless otherwise

@smuzaffar

Copy link
Copy Markdown
Contributor

@artlbv , https://github.com/cms-hls4ml is not managed by us.

@quinnanm

Copy link
Copy Markdown
Contributor

The problem with NNPuppiTauModel is that it committed the hls4ml directly into cmssw (before that was unsupported), so cms-hls4ml/NNPuppiTauModel didn't exist and needed to be created, and the hls deleted from cms-sw needed to be migrated there. I created cms-hls4ml/NNPuppiTauModel but it is currently empty. Once that is filled and a release is made it will work as an external here and the cms-sw PR will work.

@artlbv

artlbv commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

I copied over the HLS code from my private repo into https://github.com/cms-hls4ml/NNPuppiTauModel

@smuzaffar

Copy link
Copy Markdown
Contributor

thanks @artlbv , you also need to create the tag v1.0.0

@artlbv

artlbv commented Jun 20, 2026

Copy link
Copy Markdown
Contributor Author

thanks @artlbv , you also need to create the tag v1.0.0

Just did it !

@artlbv

artlbv commented Jun 22, 2026

Copy link
Copy Markdown
Contributor Author

@smuzaffar could you check/test please? thanks!

@quinnanm

Copy link
Copy Markdown
Contributor

please test with cms-sw/cmssw#51263

@cmsbuild

Copy link
Copy Markdown
Contributor

Pull request #10665 was updated.

@artlbv artlbv force-pushed the claude/nnpuppitau-externals-migration-u1xa0p branch from dfbfb48 to bbc14f0 Compare June 23, 2026 11:57
@artlbv

artlbv commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

I accidentally made a spurious commit that I had then reset so the tests are luckily still valid!

now we need to wait for the trigger results to reappear for us to know if the PR worked fine

@smuzaffar

Copy link
Copy Markdown
Contributor

assign l1

@smuzaffar

Copy link
Copy Markdown
Contributor

+externals

@cmsbuild

Copy link
Copy Markdown
Contributor

New categories assigned: l1

@BenjaminRS,@quinnanm you have been requested to review this Pull request/Issue and eventually sign? Thanks

@smuzaffar

Copy link
Copy Markdown
Contributor

@BenjaminRS,@quinnanm any objections on getting this in 20.1.X IBs/releases ?

@smuzaffar

Copy link
Copy Markdown
Contributor

please test for el9_amd64_gcc16

@quinnanm

quinnanm commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

@BenjaminRS,@quinnanm any objections on getting this in 20.1.X IBs/releases ?

no, that's fine

@quinnanm

quinnanm commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

+l1

@cmsbuild

cmsbuild commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

This pull request is fully signed and it will be integrated in one of the next IB/CMSSW_20_1_X/master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @ftenchini, @sextonkennedy, @mandrenguyen (and backports should be raised in the release meeting by the corresponding L2)

@smuzaffar smuzaffar merged commit 874e128 into cms-sw:IB/CMSSW_20_1_X/master Jul 1, 2026
12 of 14 checks passed
@cmsbuild

cmsbuild commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

-1

Failed Tests: UnitTests
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b7aabe/54446/summary.html
COMMIT: bbc14f0
CMSSW: CMSSW_20_1_X_2026-06-30-2300/el9_amd64_gcc16
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/10665/54446/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b7aabe/54446/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b7aabe/54446/git-merge-result

Failed Unit Tests

I found 1 errors in the following unit tests:

---> test RecoTrackerLSTCore-standalone-compilation had ERRORS

Comparison Summary

Summary:

  • You potentially added 372 lines to the logs
  • Reco comparison results: 80758 differences found in the comparisons
  • DQMHistoTests: Total files compared: 45
  • DQMHistoTests: Total histograms compared: 3414477
  • DQMHistoTests: Total failures: 450667
  • DQMHistoTests: Total nulls: 358
  • DQMHistoTests: Total successes: 2963434
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 5.865 KiB( 44 files compared)
  • DQMHistoSizes: changed ( 1000.0,... ): 0.004 KiB JetMET/SUSYDQM
  • DQMHistoSizes: changed ( 2022.0010001 ): -0.008 KiB JetMET/SUSYDQM
  • DQMHistoSizes: changed ( 2023.0020001,... ): -0.012 KiB JetMET/SUSYDQM
  • DQMHistoSizes: changed ( 2024.0000001 ): -0.020 KiB JetMET/SUSYDQM
  • DQMHistoSizes: changed ( 2024.0030001 ): -0.016 KiB JetMET/SUSYDQM
  • DQMHistoSizes: changed ( 2024.0040001,... ): -0.004 KiB JetMET/SUSYDQM
  • DQMHistoSizes: changed ( 2024.0050001 ): -0.027 KiB JetMET/SUSYDQM
  • DQMHistoSizes: changed ( 7.3 ): 5.960 KiB SiStrip/MechanicalView
  • Checked 195 log files, 163 edm output root files, 45 DQM output files
  • TriggerResults: found differences in 12 / 44 workflows

@artlbv

artlbv commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

does this error have anything to do with this PR? @smuzaffar it seems some other PRs (one with a failed test) entered this test round

@smuzaffar

Copy link
Copy Markdown
Contributor

no @artlbv , this error already exists in GCC16 IBs ( https://cmssdt.cern.ch/SDT/cgi-bin/logreader/el9_amd64_gcc16/CMSSW_20_1_X_2026-06-30-2300/unitTestLogs/RecoTracker/LSTCore#/ )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants