Add NNPuppiTauModel external spec and toolfile#10665
Conversation
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>
|
cms-bot internal usage |
|
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. |
|
please test |
Co-authored-by: Malik Shahzad Muzaffar <shahzad.malik.muzaffar@cern.ch>
|
Pull request #10665 was updated. |
|
Ah the CMS-hls4ml repo does not yet exist! (Only my personal does exist.. @quinnanm @BenjaminRS @thesps could you create one? |
|
@artlbv , https://github.com/cms-hls4ml is not managed by us. |
|
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. |
|
I copied over the HLS code from my private repo into https://github.com/cms-hls4ml/NNPuppiTauModel |
|
thanks @artlbv , you also need to create the tag |
Just did it ! |
|
@smuzaffar could you check/test please? thanks! |
|
please test with cms-sw/cmssw#51263 |
|
Pull request #10665 was updated. |
dfbfb48 to
bbc14f0
Compare
|
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 |
|
assign l1 |
|
+externals |
|
New categories assigned: l1 @BenjaminRS,@quinnanm you have been requested to review this Pull request/Issue and eventually sign? Thanks |
|
@BenjaminRS,@quinnanm any objections on getting this in 20.1.X IBs/releases ? |
|
please test for el9_amd64_gcc16 |
no, that's fine |
|
+l1 |
|
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) |
874e128
into
cms-sw:IB/CMSSW_20_1_X/master
|
-1 Failed Tests: UnitTests 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: Failed Unit TestsI found 1 errors in the following unit tests: ---> test RecoTrackerLSTCore-standalone-compilation had ERRORS Comparison SummarySummary:
|
|
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 |
|
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#/ ) |
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 intoL1Trigger/Phase2L1ParticleFlow'sTauNNIdHW, 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:
cmsdistspec + toolfile so SCRAM builds/installs the new external.cmsswchanges to consume it viahls4mlEmulator::ModelLoader/hls4mlEmulator::Model.Changes
NNPuppiTauModel.spec(new) — RPM spec for the external, modeled onL1TSC4NGJetModel.spec/AXOL1TL.spec: fetches the release tarball fromcms-hls4ml/NNPuppiTauModel, builds viamakeagainsthls4mlEmulatorExtras/hls, installs into$PREFIX.scram-tools.file/tools/NNPuppiTauModel/nnpuppitaumodel.xml(new) — SCRAM toolfile exposingNNPUPPITAUMODEL_BASE/LIBDIRenvironment variables for the new external, modeled onl1tsc4ngjetmodel.xml.cmssw-tools.spec— addsRequires: NNPuppiTauModelalongside 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#51263can build against it.