-
Notifications
You must be signed in to change notification settings - Fork 2
CPU vs. GPU for LST in HLT and updates to the offline #215
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
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| import FWCore.ParameterSet.Config as cms | ||
|
|
||
| # This modifier performs the host/device validation for the LST algorithm | ||
| alpakaValidationLST = cms.Modifier() | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -525,7 +525,7 @@ def condition(self, fragment, stepList, key, hasHarvest): | |
| 'HARVESTGlobal', | ||
| ], | ||
| suffix = '_lstOnCPUIters01TrackingOnly', | ||
| offset = 0.703, | ||
| offset = 0.711, | ||
| ) | ||
| upgradeWFs['lstOnCPUIters01TrackingOnly'].step3 = upgradeWFs['trackingOnly'].step3 | { | ||
| '--procModifiers': 'trackingIters01,trackingLST', | ||
|
|
@@ -554,12 +554,22 @@ def condition(self, fragment, stepList, key, hasHarvest): | |
| 'HARVESTGlobal', | ||
| ], | ||
| suffix = '_lstOnGPUIters01TrackingOnly', | ||
| offset = 0.704, | ||
| offset = 0.712, | ||
| ) | ||
| upgradeWFs['lstOnGPUIters01TrackingOnly'].step3 = upgradeWFs['trackingOnly'].step3 | { | ||
| '--procModifiers': 'trackingIters01,trackingLST', | ||
| } | ||
|
|
||
| # LST on GPU (if available), initialStep+highPtTripletStep-only tracking-only, CPU vs. GPU comparison | ||
| class UpgradeWorkflow_lstOnGPUIters01TrackingOnlyAlpakaValidationLST(UpgradeWorkflow_lstOnGPUIters01TrackingOnly): | ||
| pass | ||
| upgradeWFs['lstOnGPUIters01TrackingOnlyAlpakaValidationLST'] = deepcopy(upgradeWFs['lstOnGPUIters01TrackingOnly']) | ||
| upgradeWFs['lstOnGPUIters01TrackingOnlyAlpakaValidationLST'].suffix = '_lstOnGPUIters01TrackingOnlyAlpakaValidationLST' | ||
| upgradeWFs['lstOnGPUIters01TrackingOnlyAlpakaValidationLST'].offset = 0.713 | ||
| upgradeWFs['lstOnGPUIters01TrackingOnlyAlpakaValidationLST'].step3 = upgradeWFs['trackingOnly'].step3 | { | ||
| '--procModifiers': 'alpakaValidationLST,trackingIters01,trackingLST', | ||
| } | ||
|
|
||
| #DeepCore seeding for JetCore iteration workflow | ||
| class UpgradeWorkflow_seedingDeepCore(UpgradeWorkflow): | ||
| def setup_(self, step, stepName, stepDict, k, properties): | ||
|
|
@@ -1996,6 +2006,20 @@ def condition(self, fragment, stepList, key, hasHarvest): | |
| '-s':'HARVESTING:@hltValidation' | ||
| } | ||
|
|
||
| upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'] = deepcopy(upgradeWFs['HLTTiming75e33']) | ||
| upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'].suffix = '_HLT75e33TimingSingleIterLSTAlpakaValidationLST' | ||
| upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'].offset = 0.7541 | ||
| upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'].step2 = { | ||
| # This workflow is meant to and only works for the tracking validation | ||
| '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:hltMultiTrackValidation', | ||
| '--procModifiers': 'alpakaValidationLST,singleIterPatatrack,trackingLST', | ||
| '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', | ||
| '--eventcontent':'FEVTDEBUGHLT,DQMIO' | ||
| } | ||
| upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'].step3 = { | ||
| '-s':'HARVESTING:@hltValidation' | ||
| } | ||
|
|
||
| upgradeWFs['HLTTiming75e33AlpakaLST'] = deepcopy(upgradeWFs['HLTTiming75e33']) | ||
| upgradeWFs['HLTTiming75e33AlpakaLST'].suffix = '_HLT75e33TimingAlpakaLST' | ||
| upgradeWFs['HLTTiming75e33AlpakaLST'].offset = 0.755 | ||
|
|
@@ -2078,6 +2102,20 @@ def condition(self, fragment, stepList, key, hasHarvest): | |
| '-s':'HARVESTING:@hltValidation' | ||
| } | ||
|
|
||
| upgradeWFs['HLTTiming75e33SingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'] = deepcopy(upgradeWFs['HLTTiming75e33']) | ||
| upgradeWFs['HLTTiming75e33SingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'].suffix = '_HLT75e33TimingSingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST' | ||
| upgradeWFs['HLTTiming75e33SingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'].offset = 0.7573 | ||
| upgradeWFs['HLTTiming75e33SingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'].step2 = { | ||
| # This workflow is meant to and only works for the tracking validation | ||
| '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:hltMultiTrackValidation', | ||
| '--procModifiers': 'alpakaValidationLST,singleIterPatatrack,phase2CAExtension,trackingLST,seedingLST,trackingMkFitCommon,hltTrackingMkFitInitialStep', | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. seeing how long the modifier list is, I'd propose to define a modifier chain named e.g.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The (my) hope is to move the new tracking baseline to default not too far in the future, so I wouldn't like to add a ModifierChain (and hence a new file) for that if it is to be removed in a couple of weeks. |
||
| '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', | ||
| '--eventcontent':'FEVTDEBUGHLT,DQMIO' | ||
| } | ||
| upgradeWFs['HLTTiming75e33SingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'].step3 = { | ||
| '-s':'HARVESTING:@hltValidation' | ||
| } | ||
|
|
||
| upgradeWFs['HLTTiming75e33TiclBarrel'] = deepcopy(upgradeWFs['HLTTiming75e33']) | ||
| upgradeWFs['HLTTiming75e33TiclBarrel'].suffix = '_HLT75e33TimingTiclBarrel' | ||
| upgradeWFs['HLTTiming75e33TiclBarrel'].offset = 0.758 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,3 +12,7 @@ | |
| from Configuration.ProcessModifiers.seedingLST_cff import seedingLST | ||
| from Configuration.ProcessModifiers.hltTrackingMkFitInitialStep_cff import hltTrackingMkFitInitialStep | ||
| (trackingLST & seedingLST & hltTrackingMkFitInitialStep).toModify(hltInitialStepMkFitSeeds, seeds = "hltInitialStepTrajectorySeedsLST") | ||
|
|
||
| hltInitialStepMkFitSeedsSerialSync = hltInitialStepMkFitSeeds.clone( | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I thought the idea was to not cover the
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. My idea was to have both: the The value I see in these different sequences, and also having them separately from offline, is to probe changes at the configuration level which can matter, like the propagation of triplet pixel seeds, their duplicate cleaning or not within LST, etc.. |
||
| seeds = "hltInitialStepTrajectorySeedsLSTSerialSync" | ||
| ) | ||
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.
similar to the other comment about copy-paste: can this allow to reduce the necessary details?
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 wouldn't like to change just the structure of HLT ones for the time being. But it is a good point, and I will keep it in mind for the clean up when we get the new tracking baseline in.