Alpaka implementation of Hcal Local Reconstruction (Mahi)
PR description:
This PR port the CUDA implementation of Hcal Local Reconstruction (Mahi) to using Alpaka. Custom SoA data structure used in CUDA for HCAL condition data and rechits are replaced with PortableCollection. The current Alpaka implementation aims at reproducing the results from the CUDA implementation, no algorithmic changes are made.
There are 4 main pieces involved in the migration:
- digiConverter(
hcalDigisProducerPortable): Convert CPU digis into SoA format - Produce HCAL condition data in SoA format (Multiple producers)
- Mahi kernels (
Mahi.dev.cc) - Convert rechits from SoA to legacy format (
HcalRecHitSoAToLegacy)
More details on code design are presented in the recent HLT GPU development meetings: https://indico.cern.ch/event/1350955/ https://indico.cern.ch/event/1350953/ https://indico.cern.ch/event/1350952/ https://indico.cern.ch/event/1230377/ https://indico.cern.ch/event/1230374/
PR validation:
Alpaka GPU and CPU rechit energies are validated with slightly modified workflow 12434.523 (ttbar simulation). More validation comparisons are being worked on.
cms-bot internal usage
-code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40188
- This PR adds an extra 248KB to repository
Code check has found code style and quality issues which could be resolved by applying following patch(s)
- code-format:
https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40188/code-format.patch
e.g.
curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40188/code-format.patch | patch -p1You can also runscram build code-formatto apply code format directly
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40189
- This PR adds an extra 248KB to repository
A new Pull Request was created by @kakwok for master.
It involves the following packages:
- CondFormats/DataRecord (db, alca)
- CondFormats/HcalObjects (db, alca)
- DQM/HcalTasks (dqm)
- DataFormats/HcalDigi (simulation)
- DataFormats/HcalRecHit (reconstruction)
- EventFilter/HcalRawToDigi (reconstruction)
- HeterogeneousCore/AlpakaInterface (heterogeneous)
- RecoLocalCalo/Configuration (reconstruction)
- RecoLocalCalo/HcalRecAlgos (reconstruction)
- RecoLocalCalo/HcalRecProducers (reconstruction)
@syuvivida, @francescobrivio, @makortel, @rvenditti, @mandrenguyen, @fwyzard, @tjavaid, @mdhildreth, @saumyaphor4252, @perrotta, @consuegs, @jfernan2, @cmsbuild, @civanch, @nothingface0, @antoniovagnerini can you please review it and eventually sign? Thanks. @argiro, @DryRun, @rsreds, @Martin-Grunewald, @PonIlya, @JanChyczynski, @rovere, @makortel, @missirol, @yuanchao, @tocheng, @bsunanda, @apsallid, @mmusich, @ReyerBand, @wang0jin, @sameasy, @thomreis, @mariadalfonso, @youyingli, @abdoulline, @rchatter, @seemasharmafnal this is something you requested to watch as well. @sextonkennedy, @antoniovilela, @rappoccio you are the release manager for this.
cms-bot commands are listed here
type hcal
@kakwok before going through the changes - why do you target only the cuda back-end, and exclude the rocm back-end ?
@kakwok before going through the changes - why do you target only the
cudaback-end, and exclude therocmback-end ?
@fwyzard Quick reply before addressing other comments. Thanks for spotting this. Those are the settings during some tests. I will include rocm in a clean up commit.
Alpaka GPU and CPU rechit energies are validated with slightly modified workflow 12434.523 (ttbar simulation).
@kakwok please provide a recipe to test this code either on data or Run3 MC. Thank you.
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40218
- This PR adds an extra 224KB to repository
Pull request #44910 was updated. @jfernan2, @fwyzard, @tjavaid, @antoniovagnerini, @consuegs, @syuvivida, @perrotta, @makortel, @rvenditti, @saumyaphor4252, @francescobrivio, @mdhildreth, @cmsbuild, @civanch, @nothingface0, @mandrenguyen can you please check and sign again.
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40224
- This PR adds an extra 56KB to repository
Pull request #44910 was updated. @nothingface0, @tjavaid, @makortel, @saumyaphor4252, @perrotta, @cmsbuild, @rvenditti, @francescobrivio, @mdhildreth, @mandrenguyen, @fwyzard, @jfernan2, @syuvivida, @consuegs, @civanch, @antoniovagnerini can you please check and sign again.
OK, I think I've gone through all the code.
Some general remarks, in addition to the comments left along the code, that could be addressed in follow-up PRs:
- some
CondFormatsare in thehcalnamespace, while most are not; would it make sense to move all of them to thehcalnamespace ? - the utilities in
DataFormats/HcalDigi/interface/alpaka/HcalDigiDeviceCollection.hcould use some clean up to make the interface for the different "Flavors" more consistent; since they are independent from the actual collection, maybe it would make more sense to move them toDataFormats/HcalDigi/interface/HcalDigiSoA.h, or a separate header file ?
Other than addressing the latest round of comments, I think the next steps should be
- implement or update a runTheMatrix workflow to test the code in the "patatrack" workflows
- implement a customisation to use the new code at HLT
Finally, the interaction with the PF code should be simplified to avoid the SoA-to-legacy-to-SoA back and forth. Also this can be done in a separate PR, with the help of (or by) the PF experts.
-code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40241
-
This PR adds an extra 256KB to repository
-
There are other open Pull requests which might conflict with changes you have proposed:
- File EventFilter/HcalRawToDigi/plugins/BuildFile.xml modified in PR(s): #44955
Code check has found code style and quality issues which could be resolved by applying following patch(s)
- code-format:
https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40241/code-format.patch
e.g.
curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40241/code-format.patch | patch -p1You can also runscram build code-formatto apply code format directly
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40242
-
This PR adds an extra 444KB to repository
-
There are other open Pull requests which might conflict with changes you have proposed:
- File EventFilter/HcalRawToDigi/plugins/BuildFile.xml modified in PR(s): #44955
Pull request #44910 was updated. @consuegs, @mdhildreth, @makortel, @rvenditti, @mandrenguyen, @syuvivida, @perrotta, @civanch, @jfernan2, @tjavaid, @fwyzard, @antoniovagnerini, @cmsbuild, @saumyaphor4252, @francescobrivio, @nothingface0 can you please check and sign again.
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40254
-
This PR adds an extra 48KB to repository
-
There are other open Pull requests which might conflict with changes you have proposed:
- File EventFilter/HcalRawToDigi/plugins/BuildFile.xml modified in PR(s): #44955
Pull request #44910 was updated. @antoniovagnerini, @francescobrivio, @civanch, @jfernan2, @tjavaid, @perrotta, @syuvivida, @mandrenguyen, @fwyzard, @mdhildreth, @saumyaphor4252, @consuegs, @rvenditti, @makortel, @cmsbuild, @nothingface0 can you please check and sign again.
Alpaka GPU and CPU rechit energies are validated with slightly modified workflow 12434.523 (ttbar simulation).
@kakwok please provide a recipe to test this code either on data or Run3 MC. Thank you.
ciao on top of the above request by STORM (which I think we really need to have in order to proceed w/ the integration of this PR) I would ask you to test the Alpaka code on recent data, where we experienced issues during the data taking
in particular
- HCAL misconfiguration, cms-sw/cmssw#44541 /eos/cms/store/group/tsg/FOG/error_stream_root/run378366/*root
- HCAL out of global, cms-sw/cmssw#44668 /eos/cms/store/group/tsg/FOG/error_stream_root/run379174/*root
since the data were collected with a different L1 menu, in order to perform this test you will need to re-emulate the uGT in order to pick the L1 menu compatible w/ the HLT menu in the release
for instance, you can run the following code
hltGetConfiguration /dev/CMSSW_14_0_0/GRun --globaltag 140X_dataRun3_HLT_for2024TSGStudies_v1 --data --unprescale --output minimal --max-events 100 --eras Run3 --l1-emulator uGT --l1 L1Menu_Collisions2024_v1_2_0_xml --input '/store/group/tsg/FOG/error_stream_root/run379174/run379174_ls0045_index000002_fu-c2b01-20-01_pid494514.root' --max-events 10 > hltData.py
thanks in advance mia
---globaltag 140X_dataRun3_HLT_for2024TSGStudies_v1
can't we just use the actual data-taking GlobalTag (if the tests has to be performed on 2024 data)?
That'd be 140X_dataRun3_HLT_v3.
Also about this:
HCAL out of global,https://github.com/cms-sw/cmssw/issues/44668 /eos/cms/store/group/tsg/FOG/error_stream_root/run379174/*root
there's actually no need to go in search for error stream files, one can easily mimic offline by removing the HCAL FEDs via e.g. setup at https://github.com/cms-sw/cmssw/issues/44668#issuecomment-2045506118
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40269
- This PR adds an extra 36KB to repository
Pull request #44910 was updated. @civanch, @consuegs, @antoniovagnerini, @mandrenguyen, @makortel, @mdhildreth, @francescobrivio, @syuvivida, @cmsbuild, @fwyzard, @jfernan2, @nothingface0, @perrotta, @rvenditti, @saumyaphor4252, @tjavaid can you please check and sign again.
@kakwok here is a working customisation for the HLT:
def customizeHLTforAlpakaHcalLocalReco(process):
# EventSetup modules
process.load('RecoLocalCalo.HcalRecProducers.hcalMahiConditionsESProducer_cfi')
process.load('RecoLocalCalo.HcalRecProducers.hcalMahiPulseOffsetsESProducer_cfi')
process.load('RecoLocalCalo.HcalRecProducers.hcalSiPMCharacteristicsESProducer_cfi')
process.load('RecoLocalCalo.HcalRecAlgos.hcalRecoParamWithPulseShapeESProducer_cfi')
# the JobConfigurationGPURecord is provided by the hltESSJobConfigurationGPURecord ESSource
# convert the HCAL digis to SoA format
from EventFilter.HcalRawToDigi.hcalDigisProducerPortable_cfi import hcalDigisProducerPortable as _hcalDigisProducerPortable
# convert the HCAL digis to SoA format, and copies them to the device
process.hltHcalDigisSoA = _hcalDigisProducerPortable.clone(
hbheDigisLabel = 'hltHcalDigis',
qie11DigiLabel = 'hltHcalDigis'
)
# convert the HCAL digis to SoA format, and copies them to the host
process.hltHcalDigisSoASerialSync = makeSerialClone(process.hltHcalDigisSoA)
# run the HCAL local reconstruction (MAHI) and produce the rechits in SoA format
from RecoLocalCalo.HcalRecProducers.hbheRecHitProducerPortable_cfi import hbheRecHitProducerPortable as _hbheRecHitProducerPortable
# run the HCAL local reconstruction (MAHI) and produce the rechits in SoA format on the device, and optionally copy the rechits to the host
process.hltHbheRecoSoA = _hbheRecHitProducerPortable.clone(
digisLabelF01HE = ('hltHcalDigisSoA', 'f01HEDigisGPU'),
digisLabelF5HB = ('hltHcalDigisSoA', 'f5HBDigisGPU'),
digisLabelF3HB = ('hltHcalDigisSoA', 'f3HBDigisGPU'),
recHitsLabelM0HBHE = '',
mahiPulseOffSets = 'hcalMahiPulseOffsetsESProducer:'
)
# run the HCAL local reconstruction (MAHI) and produce the rechits in SoA format on the host
process.hltHbheRecoSoASerialSync = makeSerialClone(process.hltHbheRecoSoA,
digisLabelF01HE = ('hltHcalDigisSoASerialSync', 'f01HEDigisGPU'),
digisLabelF5HB = ('hltHcalDigisSoASerialSync', 'f5HBDigisGPU'),
digisLabelF3HB = ('hltHcalDigisSoASerialSync', 'f3HBDigisGPU'),
)
# convert the rechits in SoA format on the host to legacy format
from RecoLocalCalo.HcalRecProducers.hcalRecHitSoAToLegacy_cfi import hcalRecHitSoAToLegacy as _hcalRecHitSoAToLegacy
# convert the rechits in SoA format on the host to legacy format
process.hltHbhereco = _hcalRecHitSoAToLegacy.clone(
src = 'hltHbheRecoSoA'
)
# convert the rechits in SoA format on the host to legacy format
process.hltHbherecoSerialSync = process.hltHbhereco.clone(
src = 'hltHbheRecoSoASerialSync'
)
# update the label of the rechits produced on the host
process.hltTowerMakerForAllSerialSync.hbheInput = "hltHbherecoSerialSync"
process.hltAK4CaloJetsIDPassedSerialSync.JetIDParams.hbheRecHitsColl = "hltHbherecoSerialSync"
process.hltHbheRecHitSoASerialSync.src = "hltHbherecoSerialSync"
process.hltMuonsSerialSync.TrackAssociatorParameters.HBHERecHitCollectionLabel = "hltHbherecoSerialSync"
process.hltMuonsSerialSync.CaloExtractorPSet.TrackAssociatorParameters.HBHERecHitCollectionLabel = "hltHbherecoSerialSync"
process.hltMuonsSerialSync.JetExtractorPSet.TrackAssociatorParameters.HBHERecHitCollectionLabel = "hltHbherecoSerialSync"
# run the HCAL local reconstruction, potentially offloading the MHI step to the device
process.HLTDoLocalHcalSequence = cms.Sequence(
process.hltHcalDigis +
process.hltHcalDigisSoA +
process.hltHbheRecoSoA +
process.hltHbhereco +
process.hltHfprereco +
process.hltHfreco +
process.hltHoreco )
# run the HCAL local reconstruction on the host
process.HLTDoLocalHcalSequenceSerialSync = cms.Sequence(
process.hltHcalDigis +
process.hltHcalDigisSoASerialSync +
process.hltHbheRecoSoASerialSync +
process.hltHbherecoSerialSync +
process.hltHfprereco +
process.hltHfreco +
process.hltHoreco )
# run the HBHE local reconstruction, potentially offloading the MHI step to the device
process.HLTStoppedHSCPLocalHcalReco = cms.Sequence(
process.hltHcalDigis +
process.hltHcalDigisSoA +
process.hltHbheRecoSoA +
process.hltHbhereco )
# PFJet reconstruction running on the host
process.HLTPFHcalClusteringSerialSync = cms.Sequence(
process.hltHbheRecHitSoASerialSync +
process.hltParticleFlowRecHitHBHESoASerialSync +
process.hltParticleFlowRecHitHBHESerialSync +
process.hltParticleFlowClusterHBHESoASerialSync +
process.hltParticleFlowClusterHBHESerialSync +
process.hltParticleFlowClusterHCALSerialSync )
process.AlCa_PFJet40_CPUOnly_v7 = cms.Path(
process.HLTBeginSequence +
process.hltL1sZeroBias +
process.hltPreAlCaPFJet40CPUOnly +
process.HLTDoLocalHcalSequenceSerialSync +
process.HLTAK4CaloJetsSequenceSerialSync +
process.hltSingleCaloJet10SerialSync +
process.HLTAK4PFJetsSequenceSerialSync +
process.hltPFJetsCorrectedMatchedToCaloJets10SerialSync +
process.hltSinglePFJet40SerialSync +
process.HLTEndSequence )
# compare the HCAL local reconstruction running on the device and on the host
process.DQM_HcalReconstruction_v8 = cms.Path(
process.HLTBeginSequence +
process.hltL1sDQMHcalReconstruction +
process.hltPreDQMHcalReconstruction +
process.hltBackend +
process.hltStatusOnGPUFilter +
process.HLTDoLocalHcalSequence +
process.HLTDoLocalHcalSequenceSerialSync +
process.HLTPFHcalClustering +
process.HLTPFHcalClusteringSerialSync +
process.HLTEndSequence )
# delete the obsolete modules and tasks
del process.hcalMahiPulseOffsetsGPUESProducer
del process.hcalChannelQualityGPUESProducer
del process.hcalConvertedEffectivePedestalWidthsGPUESProducer
del process.hcalConvertedEffectivePedestalsGPUESProducer
del process.hcalConvertedPedestalWidthsGPUESProducer
del process.hcalConvertedPedestalsGPUESProducer
del process.hcalElectronicsMappingGPUESProducer
del process.hcalGainWidthsGPUESProducer
del process.hcalGainsGPUESProducer
del process.hcalLUTCorrsGPUESProducer
del process.hcalQIECodersGPUESProducer
del process.hcalQIETypesGPUESProducer
del process.hcalRecoParamsWithPulseShapesGPUESProducer
del process.hcalRespCorrsGPUESProducer
del process.hcalSiPMCharacteristicsGPUESProducer
del process.hcalSiPMParametersGPUESProducer
del process.hcalTimeCorrsGPUESProducer
del process.hltHbherecoLegacy
del process.hltHcalDigisGPU
del process.hltHbherecoGPU
del process.hltHbherecoFromGPU
del process.hltHcalConsumerCPU
del process.hltHcalConsumerGPU
del process.HLTDoLocalHcalTask
del process.HLTStoppedHSCPLocalHcalRecoTask
return process
I've tested it with the HLT menu /cdaq/physics/Run2024/2e34/v1.1.4/HLT/V1 over some data from run 380647 and it runs. I have not tested the impact on the HLT results, yet.
@missirol @mmusich I guess this customisation should be added to HLTrigger/Configuration/python/customizeHLTforAlpaka.py and called from customizeHLTforAlpaka() ?
What else is needed on the HLT side ?
I guess this customisation should be added to
HLTrigger/Configuration/python/customizeHLTforAlpaka.pyand called fromcustomizeHLTforAlpaka()? What else is needed on the HLT side ?
Thanks @fwyzard ! Just a few comments.
- I guess the HCAL collections in the EventContent of the
(HI|)DQMGPUvsCPUstreams should also be updated (with the non-SoA collections, unless the online-dqm client will be updated to read the SoA ones). - I think
HLTDoLocalHcalSequenceSerialSyncshould also be used inHLTDoCaloSequenceSerialSyncandHLTDoCaloSequencePFSerialSync(and at that point one should not need to modifyAlCa_PFJet40_CPUOnly_vexplicitly). - The Path
DQM_HIHcalReconstruction_vshould also be updated in the customisation (when we integrate this in ConfDB, we apply the customisation to the combined table). - Modulo the points above, I think this customisation is enough to parse a config in ConfDB and integrate the changes there (once we have a release with all the plugins), but if the customisation also needs to be used for a time in CMSSW workflows we should probably add some safeguards like we did for previous functions (such that it bails on menus without HCAL reconstruction, it doesn't use explicitly the "version numbers" of the Paths, it works even if applied more than once, etc). In the existing customisations for PF/ECAL/Pixel (here), there are examples of how we did this so far.
From a first comparison with this customisation, running with all paths unprescaled over 46k events, I see quite a large amount of differences in the HLT results:
Events Accepted Gained Lost Trigger
46620 42 +5 -5 AlCa_PFJet40_v28
46620 42 +5 -4 AlCa_PFJet40_CPUOnly_v7
46620 466 +43 -31 AlCa_AK8PFJet40_v23
46620 283 - -7 DST_PFScouting_DoubleEG_v2
46620 737 +8 -8 DST_PFScouting_DatasetMuon_v2
46620 1860 +169 -4 HLT_HT300_Beamspot_v19
46620 0 +1 - HLT_PFJet40_GPUvsCPU_v5
46620 14 - -1 HLT_AK8PFJet380_SoftDropMass30_v2
46620 11 - -1 HLT_AK8PFJet400_SoftDropMass30_v2
46620 8 +1 -2 HLT_AK8PFJet425_SoftDropMass30_v2
46620 7 - -1 HLT_AK8PFJet450_SoftDropMass30_v2
46620 18 +3 -1 HLT_AK8DiPFJet250_250_SoftDropMass40_v2
46620 11 +4 - HLT_AK8DiPFJet250_250_SoftDropMass50_v2
46620 17 +3 -1 HLT_AK8DiPFJet260_260_SoftDropMass30_v2
46620 16 +1 -2 HLT_AK8DiPFJet260_260_SoftDropMass40_v2
46620 14 +1 - HLT_AK8DiPFJet270_270_SoftDropMass30_v2
46620 11 +3 - HLT_AK8DiPFJet280_280_SoftDropMass30_v8
46620 7 +2 - HLT_AK8DiPFJet290_290_SoftDropMass30_v2
46620 13 - -1 HLT_DoubleMu4_3_Photon4_BsToMMG_v8
46620 30 - -1 HLT_DoublePhoton33_CaloIdL_v15
46620 7 - -1 HLT_DiEle27_WPTightCaloOnly_L1DoubleEG_v12
46620 86 +1 -1 HLT_Ele30_WPTight_Gsf_v9
46620 77 +1 -1 HLT_Ele32_WPTight_Gsf_v23
46620 67 - -1 HLT_Ele35_WPTight_Gsf_v17
46620 55 - -1 HLT_Ele38_WPTight_Gsf_v17
46620 46 - -1 HLT_Ele40_WPTight_Gsf_v17
46620 78 +1 -1 HLT_Ele32_WPTight_Gsf_L1DoubleEG_v17
46620 19 +1 -2 HLT_DiPFJetAve40_v22
46620 105 - -1 HLT_DiPFJetAve260_v22
46620 41 +1 - HLT_DiPFJetAve320_v22
46620 13 +3 -2 HLT_DiPFJetAve180_PPSMatch_Xi0p3_QuadJet_Max2ProtPerRP_v2
46620 466 +43 -31 HLT_AK8PFJet40_v24
46620 65 +15 -15 HLT_AK8PFJet60_v23
46620 9 +3 -2 HLT_AK8PFJet80_v24
46620 238 +26 -2 HLT_AK8PFJet260_v24
46620 87 +5 - HLT_AK8PFJet320_v24
46620 28 +4 - HLT_AK8PFJet400_v24
46620 16 +1 - HLT_AK8PFJet450_v24
46620 42 +5 -5 HLT_PFJet40_v29
46620 184 +12 -1 HLT_PFJet260_v28
46620 69 +5 - HLT_PFJet320_v28
46620 9 +2 -1 HLT_PFJetFwd40_v27
46620 0 +1 - HLT_PFJetFwd320_v27
46620 315 +36 -60 HLT_AK8PFJetFwd40_v23
46620 43 +3 -14 HLT_AK8PFJetFwd60_v22
46620 11 - -1 HLT_AK8PFJetFwd80_v22
46620 1 - -1 HLT_AK8PFJetFwd140_v22
46620 9 - -1 HLT_AK8PFJetFwd260_v23
46620 233 +17 -4 HLT_PFHT510_v25
46620 117 +7 -3 HLT_PFHT590_v25
46620 67 +5 - HLT_PFHT680_v25
46620 31 +3 - HLT_PFHT780_v25
46620 22 +1 - HLT_PFHT890_v25
46620 7 +1 - HLT_PFHT1050_v26
46620 7 - -1 HLT_PFHT500_PFMET100_PFMHT100_IDTight_v20
46620 3 +2 -1 HLT_PFHT500_PFMET110_PFMHT110_IDTight_v20
46620 8 +2 -2 HLT_PFHT700_PFMET85_PFMHT85_IDTight_v20
46620 2 +3 - HLT_PFHT800_PFMET75_PFMHT75_IDTight_v20
46620 46 +7 -15 HLT_PFMET120_PFMHT120_IDTight_v28
46620 19 +7 -3 HLT_PFMET130_PFMHT130_IDTight_v28
46620 11 +2 -2 HLT_PFMET140_PFMHT140_IDTight_v28
46620 18 +2 -5 HLT_PFMET120_PFMHT120_IDTight_PFHT60_v17
46620 18 +2 -5 HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_PFHT60_v17
46620 12 +5 -2 HLT_PFMETTypeOne140_PFMHT140_IDTight_v19
46620 45 +8 -15 HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_v28
46620 19 +7 -3 HLT_PFMETNoMu130_PFMHTNoMu130_IDTight_v27
46620 11 +2 -2 HLT_PFMETNoMu140_PFMHTNoMu140_IDTight_v27
46620 72 +11 -18 HLT_PFMETNoMu110_PFMHTNoMu110_IDTight_FilterHF_v8
46620 42 +7 -15 HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_FilterHF_v8
46620 18 +4 -2 HLT_PFMETNoMu130_PFMHTNoMu130_IDTight_FilterHF_v8
46620 11 +2 -2 HLT_PFMETNoMu140_PFMHTNoMu140_IDTight_FilterHF_v8
46620 671 +104 -91 HLT_CaloMHT90_v12
46620 505 +26 -22 HLT_CaloMET90_NotCleaned_v12
46620 3 +1 - HLT_PFMET200_NotCleaned_v17
46620 1 +1 - HLT_PFMET200_BeamHaloCleaned_v17
46620 4 +2 - HLT_PFMETTypeOne200_BeamHaloCleaned_v17
46620 1 +1 - HLT_MET120_IsoTrk50_v17
46620 26 +4 - HLT_BTagMu_AK4DiJet20_Mu5_v21
46620 10 +1 - HLT_BTagMu_AK4DiJet70_Mu5_v21
46620 8 +1 - HLT_BTagMu_AK4DiJet110_Mu5_v21
46620 10 +1 - HLT_BTagMu_AK4DiJet170_Mu5_v20
46620 4 +1 - HLT_BTagMu_AK4Jet300_Mu5_v20
46620 17 +1 - HLT_BTagMu_AK8DiJet170_Mu5_v17
46620 6 +2 - HLT_BTagMu_AK8Jet300_Mu5_v20
46620 1072 - -11 HLT_Photon50_v21
46620 265 - -3 HLT_Photon75_v21
46620 129 - -2 HLT_Photon90_v21
46620 94 +2 -2 HLT_Photon50EB_TightID_TightIso_PFJet30_v2
46620 94 +2 -2 HLT_Photon50EB_TightID_TightIso_CaloJet30_v1
46620 94 +2 -2 HLT_Photon50EB_TightID_TightIso_AK8PFJet30_v1
46620 94 +2 -2 HLT_Photon50EB_TightID_TightIso_AK8CaloJet30_v1
46620 94 +2 -2 HLT_Photon50EB_TightID_TightIso_v6
46620 69 +2 -2 HLT_Photon55EB_TightID_TightIso_v2
46620 20 - -1 HLT_Photon75EB_TightID_TightIso_v6
46620 213 +1 -2 HLT_Photon50_R9Id90_HE10_IsoM_v22
46620 45 - -1 HLT_Photon75_R9Id90_HE10_IsoM_v22
46620 21 - -1 HLT_Photon90_R9Id90_HE10_IsoM_v22
46620 22 - -1 HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass90_v21
46620 18 - -1 HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v21
46620 59 +1 -1 HLT_IsoMu24_TwoProngs35_v9
46620 13 +4 -2 HLT_DoubleMu3_DZ_PFMET50_PFMHT60_v18
46620 7 +3 - HLT_DoubleMu3_DZ_PFMET70_PFMHT70_v18
46620 33 +2 -2 HLT_Ele30_eta2p1_WPTight_Gsf_CentralPFJet35_EleCleaned_v21
46620 15 +1 -1 HLT_Ele28_eta2p1_WPTight_Gsf_HT150_v21
46620 1 - -1 HLT_Ele15_IsoVVVL_PFHT450_PFMET50_v24
46620 3 - -1 HLT_Ele15_IsoVVVL_PFHT450_v24
46620 12 +1 -2 HLT_Mu3er1p5_PFJet100er2p5_PFMET80_PFMHT80_IDTight_v10
46620 9 +1 -2 HLT_Mu3er1p5_PFJet100er2p5_PFMET90_PFMHT90_IDTight_v10
46620 4 +1 -1 HLT_Mu3er1p5_PFJet100er2p5_PFMET100_PFMHT100_IDTight_v10
46620 20 +3 -3 HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu80_PFMHTNoMu80_IDTight_v10
46620 13 +2 -3 HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu90_PFMHTNoMu90_IDTight_v10
46620 6 +2 -1 HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu100_PFMHTNoMu100_IDTight_v10
46620 5 - -1 HLT_Ele14_eta2p5_IsoVVVL_Gsf_PFHT200_PNetBTag0p53_v1
46620 4 +1 -1 HLT_Ele8_CaloIdM_TrackIdM_PFJet30_v26
46620 407 +52 -12 HLT_PFHT330PT30_QuadPFJet_75_60_45_40_v17
46620 72 +12 -7 HLT_PFHT400_SixPFJet32_v17
46620 15 +1 -4 HLT_PFHT400_SixPFJet32_PNet2BTagMean0p50_v5
46620 37 +4 -3 HLT_PFHT450_SixPFJet36_v16
46620 14 +1 -1 HLT_PFHT450_SixPFJet36_PNetBTag0p35_v5
46620 97 +19 -6 HLT_PFHT400_FivePFJet_120_120_60_30_30_v2
46620 1169 +111 -14 HLT_PFHT350_v27
46620 139 +1 -2 HLT_DiSC30_18_EIso_AND_HE_Mass70_v22
46620 11 +5 -2 HLT_DoubleMu3_DCA_PFMET50_PFMHT60_v18
46620 16 +6 -3 HLT_DoubleMu3_DCA_PFMET50_PFMHT60_Mass2p0_v2
46620 38 +10 -5 HLT_DoubleMu3_DCA_PFMET50_PFMHT60_Mass2p0_noDCA_v2
46620 574 +45 -14 HLT_QuadPFJet103_88_75_15_v13
46620 543 +45 -16 HLT_QuadPFJet105_88_76_15_v13
46620 435 +30 -12 HLT_QuadPFJet111_90_80_15_v13
46620 11 - -2 HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_v9
46620 10 - -1 HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_Mass55_v9
46620 32 +3 -2 HLT_DoubleMediumDeepTauPFTauHPS35_L2NN_eta2p1_v8
46620 14 +3 -1 HLT_PFHT400_FivePFJet_120_120_60_30_30_PNet2BTag_5p6_v2
46620 10 +2 - HLT_PFHT400_FivePFJet_120_120_60_30_30_PNet2BTag_4p3_v2
46620 15 +1 -2 HLT_QuadPFJet103_88_75_15_PNetBTag_0p4_VBF2_v2
46620 15 +2 - HLT_QuadPFJet103_88_75_15_PNet2BTag_0p4_0p12_VBF1_v2
46620 14 +2 -2 HLT_QuadPFJet105_88_76_15_PNetBTag_0p4_VBF2_v2
46620 14 +3 - HLT_QuadPFJet105_88_76_15_PNet2BTag_0p4_0p12_VBF1_v2
46620 13 +2 -2 HLT_QuadPFJet111_90_80_15_PNetBTag_0p4_VBF2_v2
46620 12 +3 -2 HLT_QuadPFJet111_90_80_15_PNet2BTag_0p4_0p12_VBF1_v2
46620 1503 +136 -43 HLT_PFHT250_QuadPFJet25_v2
46620 68 +10 -6 HLT_PFHT250_QuadPFJet25_PNet2BTagMean0p55_v2
46620 37 +6 -7 HLT_PFHT250_QuadPFJet25_PNet1BTag0p20_PNet1Tauh0p50_v2
46620 58 +6 -1 HLT_PFHT250_QuadPFJet30_PNet2BTagMean0p55_v2
46620 32 +6 -6 HLT_PFHT250_QuadPFJet30_PNet1BTag0p20_PNet1Tauh0p50_v2
46620 27 +6 -5 HLT_PFHT280_QuadPFJet30_PNet1BTag0p20_PNet1Tauh0p50_v2
46620 1009 +109 -26 HLT_PFHT280_QuadPFJet30_v5
46620 54 +5 -1 HLT_PFHT280_QuadPFJet30_PNet2BTagMean0p55_v5
46620 45 +4 -1 HLT_PFHT280_QuadPFJet30_PNet2BTagMean0p60_v5
46620 33 +7 -1 HLT_PFHT280_QuadPFJet35_PNet2BTagMean0p60_v5
46620 8 +3 - HLT_PFHT340_QuadPFJet70_50_40_40_PNet2BTagMean0p70_v6
46620 520 +57 -14 HLT_QuadPFJet100_88_70_30_v6
46620 422 +45 -11 HLT_QuadPFJet105_88_75_30_v5
46620 335 +37 -14 HLT_QuadPFJet111_90_80_30_v5
46620 11 - -1 HLT_QuadPFJet100_88_70_30_PNet1CvsAll0p5_VBF3Tight_v6
46620 11 - -1 HLT_QuadPFJet105_88_75_30_PNet1CvsAll0p5_VBF3Tight_v6
46620 5 - -1 HLT_QuadPFJet111_90_80_30_PNet1CvsAll0p6_VBF3Tight_v6
46620 219 +36 -9 HLT_AK8PFJet220_SoftDropMass40_v9
46620 4 - -1 HLT_AK8PFJet220_SoftDropMass40_PNetBB0p06_DoubleAK4PFJet60_30_PNet2BTagMean0p50_v5
46620 4 - -1 HLT_AK8PFJet220_SoftDropMass40_PNetBB0p06_DoubleAK4PFJet60_30_PNet2BTagMean0p53_v5
46620 3 - -1 HLT_AK8PFJet220_SoftDropMass40_PNetBB0p06_DoubleAK4PFJet60_30_PNet2BTagMean0p55_v5
46620 2 - -1 HLT_AK8PFJet220_SoftDropMass40_PNetBB0p06_DoubleAK4PFJet60_30_PNet2BTagMean0p60_v5
46620 182 +29 -6 HLT_AK8PFJet230_SoftDropMass40_v9
46620 10 - -1 HLT_AK8PFJet230_SoftDropMass40_PNetBB0p06_v5
46620 5 +1 - HLT_AK8PFJet230_SoftDropMass40_PNetBB0p10_v5
46620 1 +1 - HLT_AK8PFJet230_SoftDropMass40_PNetTauTau0p03_v5
46620 1 +1 - HLT_AK8PFJet230_SoftDropMass40_PNetTauTau0p05_v5
46620 8 - -1 HLT_AK8PFJet250_SoftDropMass40_PNetBB0p06_v5
46620 3 +1 - HLT_AK8PFJet250_SoftDropMass40_PNetBB0p10_v5
46620 7 - -1 HLT_AK8PFJet275_SoftDropMass40_PNetBB0p06_v5
46620 2 +1 - HLT_AK8PFJet275_SoftDropMass40_PNetBB0p10_v5
46620 1 - -1 HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFHT250_v2
46620 1 - -1 HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFHT250_QuadPFJet25_v2
46620 14 +1 -1 HLT_DoubleMediumDeepTauPFTauHPS30_L2NN_eta2p1_PFJet60_v8
46620 10 +1 -1 HLT_DoubleMediumDeepTauPFTauHPS30_L2NN_eta2p1_PFJet75_v8
46620 94 - -2 HLT_IsoMu24_eta2p1_SinglePFJet25_PNet1Tauh0p50_v2
46620 18 +4 -3 HLT_DoublePNetTauhPFJet30_Medium_L2NN_eta2p3_v2
46620 15 +4 -5 HLT_DoublePNetTauhPFJet30_Tight_L2NN_eta2p3_v2
46620 4 +2 -2 HLT_DoublePNetTauhPFJet26_L2NN_eta2p3_PFJet60_v2
46620 4 +1 -2 HLT_DoublePNetTauhPFJet26_L2NN_eta2p3_PFJet75_v2
46620 8 +2 -1 HLT_SinglePNetTauhPFJet130_Loose_L2NN_eta2p3_v2
46620 7 - -1 HLT_SinglePNetTauhPFJet130_Medium_L2NN_eta2p3_v2
46620 7 - -1 HLT_SinglePNetTauhPFJet130_Tight_L2NN_eta2p3_v2
46620 2 +1 - HLT_DoubleMediumChargedIsoDisplacedPFTauHPS32_Trk1_eta2p1_v9
46620 33 +2 - HLT_DoubleMediumChargedIsoDisplacedPFTauHPS32_Trk1_eta2p1_noDxy_v4
46620 14 +2 -2 HLT_HT350_DelayedJet40_SingleDelay1p5To3p5nsInclusive_v5
46620 10 +2 -2 HLT_HT350_DelayedJet40_SingleDelay1p6To3p5nsInclusive_v5
46620 6 +2 -1 HLT_HT350_DelayedJet40_SingleDelay1p75To3p5nsInclusive_v5
46620 76 +13 - HLT_HT430_DelayedJet40_SingleDelay0p5nsInclusive_v7
46620 22 +5 -2 HLT_HT430_DelayedJet40_SingleDelay1nsInclusive_v7
46620 16 +4 -2 HLT_HT430_DelayedJet40_SingleDelay1To1p5nsInclusive_v5
46620 12 +3 - HLT_HT430_DelayedJet40_SingleDelay1p1To1p6nsInclusive_v5
46620 8 +1 -1 HLT_HT430_DelayedJet40_SingleDelay1p25To1p75nsInclusive_v5
46620 6 +2 -1 HLT_HT430_DelayedJet40_SingleDelay1p5nsInclusive_v7
46620 4 +2 - HLT_HT430_DelayedJet40_SingleDelay0p5nsTrackless_v7
46620 3 +1 - HLT_HT430_DelayedJet40_SingleDelay1nsTrackless_v9
46620 8 +3 - HLT_HT430_DelayedJet40_DoubleDelay0p5nsInclusive_v8
46620 0 +1 - HLT_HT430_DelayedJet40_DoubleDelay0p5nsTrackless_v9
46620 0 +1 - HLT_HT430_DelayedJet40_DoubleDelay0p75nsTrackless_v5
46620 15 +1 - HLT_L1Tau_DelayedJet40_SingleDelay2p5To4nsInclusive_v5
46620 33 +2 -1 HLT_L1Tau_DelayedJet40_DoubleDelay0p75nsInclusive_v7
46620 7 +2 - HLT_L1Tau_DelayedJet40_DoubleDelay0p5nsTrackless_v7
46620 5 +3 - HLT_Mu6HT240_DisplacedDijet30_Inclusive1PtrkShortSig5_DisplacedLoose_v9
46620 7 +4 - HLT_Mu6HT240_DisplacedDijet35_Inclusive0PtrkShortSig5_v9
46620 3 +2 -1 HLT_Mu6HT240_DisplacedDijet35_Inclusive1PtrkShortSig5_DisplacedLoose_v9
46620 5 +2 - HLT_Mu6HT240_DisplacedDijet40_Inclusive0PtrkShortSig5_v9
46620 1 +1 - HLT_Mu6HT240_DisplacedDijet40_Inclusive1PtrkShortSig5_DisplacedLoose_v9
46620 1076 +79 -5 HLT_HT350_v5
46620 468 +55 -1 HLT_HT425_v17
46620 38 +9 -1 HLT_HT360_DisplacedDijet40_Inclusive1PtrkShortSig5_v5
46620 31 +6 -1 HLT_HT360_DisplacedDijet45_Inclusive1PtrkShortSig5_v5
46620 24 +6 -1 HLT_HT390_DisplacedDijet40_Inclusive1PtrkShortSig5_v5
46620 19 +4 -1 HLT_HT390_DisplacedDijet45_Inclusive1PtrkShortSig5_v5
46620 20 +5 -1 HLT_HT390eta2p0_DisplacedDijet40_Inclusive1PtrkShortSig5_v5
46620 13 +6 - HLT_HT430_DisplacedDijet40_Inclusive1PtrkShortSig5_v9
46620 2 +1 - HLT_HT550_DisplacedDijet60_Inclusive_v21
46620 25 +1 -1 HLT_CaloMET60_DTCluster50_v9
46620 1 +1 - HLT_HT170_L1SingleLLPJet_DisplacedDijet40_DisplacedTrack_v9
46620 1 +1 - HLT_HT200_L1SingleLLPJet_DisplacedDijet40_DisplacedTrack_v9
46620 1 +1 - HLT_HT270_L1SingleLLPJet_DisplacedDijet40_DisplacedTrack_v9
46620 14 +3 - HLT_HT200_L1SingleLLPJet_DisplacedDijet40_Inclusive1PtrkShortSig5_v9
46620 11 +2 - HLT_HT240_L1SingleLLPJet_DisplacedDijet40_Inclusive1PtrkShortSig5_v6
46620 8 +2 - HLT_HT280_L1SingleLLPJet_DisplacedDijet40_Inclusive1PtrkShortSig5_v6
46620 2 +1 - HLT_HT320_L1SingleLLPJet_DisplacedDijet60_Inclusive_v9
46620 1 +1 - HLT_HT420_L1SingleLLPJet_DisplacedDijet60_Inclusive_v9
46620 0 +1 - HLT_HT200_L1SingleLLPJet_DelayedJet40_SingleDelay1nsTrackless_v9
46620 0 +1 - HLT_HT200_L1SingleLLPJet_DelayedJet40_DoubleDelay0p5nsTrackless_v9
46620 9 +1 - HLT_HT200_L1SingleLLPJet_PFJet60_NeutralHadronFrac0p7_v2
46620 1789 - -83 HLT_DiPhoton10_CaloIdL_v8
46620 20 - -2 HLT_DoubleEle6p5_eta1p22_mMax6_v8
46620 16 - -1 HLT_DoubleEle8_eta1p22_mMax6_v8
46620 158 - -8 HLT_SingleEle8_v7
46620 39 - -1 HLT_SingleEle8_SingleEGL1_v7
46620 12 - -3 HLT_Diphoton20_14_eta1p5_R9IdL_AND_HET_AND_IsoTCaloIdT_v8
46620 11 - -3 HLT_Diphoton22_14_eta1p5_R9IdL_AND_HET_AND_IsoTCaloIdT_v8
46620 9 - -1 HLT_Diphoton24_14_eta1p5_R9IdL_AND_HET_AND_IsoTCaloIdT_v8
46620 8 - -1 HLT_Diphoton24_16_eta1p5_R9IdL_AND_HET_AND_IsoTCaloIdT_v8
46620 68 +1 -1 HLT_IsoMu24_OneProng32_v5
46620 19 +1 - HLT_DoubleMediumDeepTauPFTauHPS30_L2NN_eta2p1_OneProng_v4
46620 317 +13 -7 HLT_VBF_DiPFJet125_45_Mjj1050_v4
46620 236 +9 -8 HLT_VBF_DiPFJet125_45_Mjj1200_v2
46620 167 +7 -4 HLT_VBF_DiPFJet75_45_Mjj800_DiPFJet60_v2
46620 154 +9 -4 HLT_VBF_DiPFJet75_45_Mjj850_DiPFJet60_v2
46620 77 +7 -3 HLT_VBF_DiPFJet80_45_Mjj650_PFMETNoMu85_v2
46620 63 +6 -2 HLT_VBF_DiPFJet80_45_Mjj750_PFMETNoMu85_v2
46620 43 +4 - HLT_VBF_DiPFJet95_45_Mjj750_Mu3_TrkIsoVVL_v2
46620 33 +3 - HLT_VBF_DiPFJet95_45_Mjj850_Mu3_TrkIsoVVL_v2
46620 31 +2 -1 HLT_VBF_DiPFJet50_Mjj650_Photon22_v2
46620 27 +1 -1 HLT_VBF_DiPFJet50_Mjj750_Photon22_v2
46620 21 - -3 HLT_VBF_DiPFJet45_Mjj650_MediumDeepTauPFTauHPS45_L2NN_eta2p1_v2
46620 15 - -3 HLT_VBF_DiPFJet45_Mjj750_MediumDeepTauPFTauHPS45_L2NN_eta2p1_v2
46620 18 - -1 HLT_VBF_DiPFJet45_Mjj650_PNetTauhPFJet45_L2NN_eta2p3_v2
46620 14 - -1 HLT_VBF_DiPFJet45_Mjj750_PNetTauhPFJet45_L2NN_eta2p3_v2
46620 13 +1 - HLT_PFJet200_TimeLtNeg2p5ns_v6
I'm re-running at least two times both the reference configuration and the customised one on cpu and on gpu to get a feeling of the stability of the results.
- running twice the current HLT menu on CPU, I get identical results
- running twice the current HLT menu on GPU, I get +/-1 event on less than 20 paths
- comparing the current HLT menu on GPU vs CPU, I get +/- 2 events on less than 60 paths
- running twice the customised HLT menu on CPU, I get discrepancies in over 100 paths, some above 10%
- running twice the customised HLT menu on GPU, I get +/- 1 event on less than 20 paths
- comparing the customised HLT menu on GPU vs CPU, I get discrepancies in over 250 paths, mostly based on HT an jets, some above 10%
- comparing the customised vs current HLT menu on CPU, I get similar discrepancies as above
So, looks like there is something wrong with the new implementation, especially running on CPU.
-code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40307
-
This PR adds an extra 336KB to repository
-
Found files with invalid states:
- EventFilter/HcalRawToDigi/plugins/alpaka/HcalDigisProducerPortable.cc:
- Added: 79beb3caa6d4fd835485d1c86b4f3042b31fd74f
- Modified: d82fbab148b71abb6a6e518b9fc121b41f043efc, 715105876f8999402d3e30f2fa94579275479978
- Deleted: 6ba6f2400bad40a6f2c057fda1e488559181d93a
- EventFilter/HcalRawToDigi/plugins/alpaka/HcalDigisProducerPortable.cc:
-
There are other open Pull requests which might conflict with changes you have proposed:
- File Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py modified in PR(s): #33532, #43761, #43964, #44785, #44964, #45005
Code check has found code style and quality issues which could be resolved by applying following patch(s)
- code-format:
https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40307/code-format.patch
e.g.
curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44910/40307/code-format.patch | patch -p1You can also runscram build code-formatto apply code format directly
This commit 366edd90ff83c3c8b12b92b783945dffd9eb609e adds the legacy workflow for comparing Alpaka result to legacy CPU result. The following workflow compares Alpaka GPU and Legacy CPU:
runTheMatrix.py -w upgrade -l 12434.423
I do see the discrepancies at low energies. I'm trying to debug this now. Ideas for how to debug are welcome.
Ideas for how to debug are welcome.
Given that I observed different results running the same job twice, I suspect some uninitialised memory usage.
You could try running (on CPU) using the ASAN IBs, or (on GPU) with the NVIDIA compute-sanitizer.
@kakwok @fwyzard
I have been trying to run some basic HLT menu testing including this PR in the following way:
#!/bin/bash
cmsrel CMSSW_14_0_7_MULTIARCHS
cd CMSSW_14_0_7_MULTIARCHS/src
cmsenv
git cms-addpkg CondFormats/DataRecord
git cms-addpkg CondFormats/HcalObjects
git cms-addpkg DQM/HcalTasks
git cms-addpkg DataFormats/HcalDigi
git cms-addpkg DataFormats/HcalRecHit
git cms-addpkg EventFilter/HcalRawToDigi
git cms-addpkg HeterogeneousCore/AlpakaInterface
git cms-addpkg RecoLocalCalo/Configuration
git cms-addpkg RecoLocalCalo/HcalRecAlgos
git cms-addpkg RecoLocalCalo/HcalRecProducers
git cms-addpkg Configuration/PyReleaseValidation
wget https://patch-diff.githubusercontent.com/raw/cms-sw/cmssw/pull/44910.diff
git apply 44910.diff
git cms-checkdeps -a
scram b -j 20
(not merging this topic, to avoid having too many packages to recompile) and then using the customization function at https://github.com/cms-sw/cmssw/pull/44910#issuecomment-2118482271 (slightly modified to comply with the latest modifications in this PR - you can find it at this commit https://github.com/mmusich/cmssw/commit/15ea9750359193d75e9e406d80d17d7c48b78788 ).
Then I tried running on 2024 data with:
hltGetConfiguration /dev/CMSSW_14_0_0/GRun --unprescale --output minimal --globaltag 140X_dataRun3_HLT_v3 --mc --max-events 10000 --input root://eoscms.cern.ch//eos/cms/tier0/store/data/Run2024E/HLTPhysics/RAW/v1/000/381/070/00000/3b87e7a8-9e8e-4b8c-830f-f14d65a40086.root --customise HLTrigger/Configuration/customizeHLTforAlpaka.customizeHLTforAlpaka > hlt_data.py
and didn't observe any issues.
On the other hand trying to run on (2023) MC with this recipe:
hltGetConfiguration /dev/CMSSW_14_0_0/GRun --unprescale --output minimal --globaltag auto:phase1_2024_realistic --mc --max-events 100 --eras Run3 --l1-emulator uGT --l1 L1Menu_Collisions2024_v1_2_0_xml --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 > hlt_mc.py
I get an assertion failure:
cmsRun: src/RecoLocalCalo/HcalRecProducers/plugins/alpaka/Mahi.dev.cc:368: void alpaka_serial_sync::hcal::reconstruction::mahi::Kernel_prep1d_sameNumberOfSamples::operator()(const TAcc&, PortableHostColl
ection<hcal::HcalRecHitSoALayout<> >::View, PortableHostCollection<hcal::HcalPhase1DigiSoALayout<> >::ConstView, PortableHostCollection<hcal::HcalPhase0DigiSoALayout<> >::ConstView, PortableHostCollectio
n<hcal::HcalPhase1DigiSoALayout<> >::ConstView, PortableHostCollection<hcal::HcalMahiConditionsSoALayout<> >::ConstView, PortableHostCollection<hcal::HcalSiPMCharacteristicsSoALayout<> >::ConstView, hcal
::HcalRecoParamWithPulseShapeT<alpaka::DevCpu>::ConstView, bool, int, int, int, float, float*, float*, float*, int8_t*, int) const [with TAcc = alpaka::AccCpuSerial<std::integral_constant<long unsigned i
nt, 2>, unsigned int>; <template-parameter-1-2> = void; PortableHostCollection<hcal::HcalRecHitSoALayout<> >::View = hcal::HcalRecHitSoALayout<>::ViewTemplateFreeParams<128, false, true, false>; Portable
HostCollection<hcal::HcalPhase1DigiSoALayout<> >::ConstView = hcal::HcalPhase1DigiSoALayout<>::ConstViewTemplateFreeParams<128, false, true, false>; PortableHostCollection<hcal::HcalPhase0DigiSoALayout<>
>::ConstView = hcal::HcalPhase0DigiSoALayout<>::ConstViewTemplateFreeParams<128, false, true, false>; PortableHostCollection<hcal::HcalMahiConditionsSoALayout<> >::ConstView = hcal::HcalMahiConditionsSo
ALayout<>::ConstViewTemplateFreeParams<128, false, true, false>; PortableHostCollection<hcal::HcalSiPMCharacteristicsSoALayout<> >::ConstView = hcal::HcalSiPMCharacteristicsSoALayout<>::ConstViewTemplate
FreeParams<128, false, true, false>; int8_t = signed char]: Assertion `nsamples == nsamplesForCompute || nsamples - startingSample == nsamplesForCompute' failed.
I've tried several MC input files (including 2024 relval TTbar) and always obtained the same assertion. I can't exclude an issue in my setup, though I would be curious to understand if this was tested (at HLT) also in simulation. Thank you!