-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add customize to include Alpaka HCal PF Clustering at HLT #43971
Add customize to include Alpaka HCal PF Clustering at HLT #43971
Conversation
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43971/38876
|
A new Pull Request was created by @waredjeb (Wahid Redjeb) for master. It involves the following packages:
@cmsbuild, @Martin-Grunewald, @mmusich can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
enable gpu |
test parameters:
|
df9cb7f
to
2b472df
Compare
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43971/38877
|
Pull request #43971 was updated. @Martin-Grunewald, @cmsbuild, @mmusich can you please check and sign again. |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-2b6a17/37478/summary.html Comparison SummarySummary:
GPU Comparison SummarySummary:
|
Some preliminary checks from
@waredjeb where is the 14.0.X backport? it was privately communicated that this needs to enter 14_0_0. [1]
|
src = cms.InputTag("hltPFRecHitSoAProducerHCALCPUSerial") | ||
) | ||
|
||
process.particleFlowRecHitHF = cms.EDProducer("PFRecHitProducer", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Modules run at HLT start their label with lower-case hlt
. Also, it actually seems this module is not further used anywhere?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's right, I am checking that everything works correctly without this module
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated removing this module, thanks for spotting it!
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43971/38893
|
Pull request #43971 was updated. @mmusich, @Martin-Grunewald, @cmsbuild can you please check and sign again. |
@cmsbuild, please test |
Possible that the tests failed with this error?
|
it shows as failed here because it's the same branch as the backport and the backport is failing because of that reason. |
I see, thanks for the clarification |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-2b6a17/37498/summary.html Comparison SummarySummary:
GPU Comparison SummarySummary:
|
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @antoniovilela, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of late questions.
process.hltPFRecHitHCALParamsESProducer = cms.ESProducer('PFRecHitHCALParamsESProducer@alpaka', | ||
energyThresholdsHB = cms.vdouble( | ||
0.1, | ||
0.2, | ||
0.3, | ||
0.3 | ||
), | ||
energyThresholdsHE = cms.vdouble( | ||
0.1, | ||
0.2, | ||
0.2, | ||
0.2, | ||
0.2, | ||
0.2, | ||
0.2 | ||
), | ||
appendToDataLabel = cms.string(''), | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought these numbers should now be taken from the GT, so is this ESProducer still needed ? (I'm not thinking about the customisation per se, but about what we will actually integrate in the HLT menu)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My understanding is that, yes, these numbers are now taken from GT, but we still need to provide some "default" numbers to get the code function (somewhat historic). Perhaps something we can try to see if we can design the code differently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When adding DB thresholds, my understanding was to maintain function with hardcoded parameters if needed. An example of the current implementation starts here:
cmssw/RecoParticleFlow/PFRecHitProducer/plugins/alpaka/PFRecHitProducerKernel.dev.cc
Line 62 in 82470f5
if (topology.cutsFromDB()) { |
If there is need to change the functionality to DB only, I can look into it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the reminder. It's probably wise to keep the functionality to use numbers via config.
|
||
process.hltLegacyPFClusterProducer = cms.EDProducer("LegacyPFClusterProducer", | ||
src = cms.InputTag("hltPFClusterSoAProducer"), | ||
pfClusterParams = cms.ESInputTag("pfClusterParamsESProducer:"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be hltPFClusterParamsESProducer:
instead ? (I guess it does not matter, since the tests passed ? From a quick look, it seems that pfClusterParams
is not really used inside LegacyPFClusterProducer
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, I guess we can directly drop this parameter from LegacyPFClusterProducer
This PR add
customizeHLTforAlpakaParticleFlowClustering()
tocustomizeHLTForAlpaka()
to integrate the Alpaka HCAL PF Clustering at HLT.The function defines all the needed modules and replace them in the necessary Sequences. Currently it also run the Alpaka CPU-serial version up to the PFClusterSoA collection, before the Legacy conversion.
To compare the GPU version against the CPU version a follow-up PR will be needed to perform the CPU legacy conversion and the comparison at DQM.
Validation
Validated running the following HLT configuration
hltGetConfiguration /dev/CMSSW_14_0_0/GRun --unprescale --output all --globaltag auto:phase1_2024_realistic --mc --max-events 10 --input /store/mc/Run3Winter24Digi/TT_TuneCP5_13p6TeV_powheg-pythia8/GEN-SIM-RAW/133X_mcRun3_2024_realistic_v8-v2/80000/dc984f7f-2e54-48c4-8950-5daa848b6db9.root --customise HLTrigger/Configuration/customizeHLTforAlpaka.customizeHLTforAlpaka
And also by merging #43701 and running workflow 12434.423
FYI @jsamudio @hatakeyamak