-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
PhaseII: optimize seeding, reduce cpu-timing #16885
Conversation
A new Pull Request was created by @VinInn (Vincenzo Innocente) for CMSSW_9_0_X. It involves the following packages: RecoPixelVertexing/PixelTriplets @cmsbuild, @cvuosalo, @slava77, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here #13028 |
@cmsbuild , please test |
The tests are being triggered in jenkins. |
'FPix6_pos+FPix7_pos+FPix8_pos+FPix9_pos', 'FPix6_neg+FPix7_neg+FPix8_neg+FPix9_neg'] | ||
# 'FPix5_pos+FPix6_pos+FPix7_pos+FPix8_pos', 'FPix5_neg+FPix6_neg+FPix7_neg+FPix8_neg', | ||
# 'FPix5_pos+FPix6_pos+FPix7_pos+FPix9_pos', 'FPix5_neg+FPix6_neg+FPix7_neg+FPix9_neg', | ||
# 'FPix6_pos+FPix7_pos+FPix8_pos+FPix9_pos', 'FPix6_neg+FPix7_neg+FPix8_neg+FPix9_neg' |
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.
is this commented out code needed?
Please remove or add comments inline in the code why the commented out block is relevant
indivShareFrac = [1.0,0.16,0.095,0.09,0.09,0.09], | ||
selectedTrackQuals = cms.VInputTag(cms.InputTag("initialStepSelector","initialStep"), | ||
cms.InputTag("highPtTripletStepSelector","highPtTripletStep"), | ||
cms.InputTag("lowPtQuadStepSelector","lowPtQuadStep"), | ||
cms.InputTag("lowPtTripletStepSelector","lowPtTripletStep"), | ||
cms.InputTag("detachedQuadStep"), | ||
cms.InputTag("pixelPairStepSelector","pixelPairStep") | ||
# cms.InputTag("pixelPairStepSelector","pixelPairStep") |
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.
is this commented out code needed?
Please remove or add comments inline in the code why the commented out block is relevant
'FPix6_pos+FPix7_pos+FPix8_pos', 'FPix6_neg+FPix7_neg+FPix8_neg', | ||
'FPix6_pos+FPix7_pos+FPix9_pos', 'FPix6_neg+FPix7_neg+FPix9_neg'] | ||
# 'FPix6_pos+FPix7_pos+FPix8_pos', 'FPix6_neg+FPix7_neg+FPix8_neg', | ||
# 'FPix6_pos+FPix7_pos+FPix9_pos', 'FPix6_neg+FPix7_neg+FPix9_neg'] |
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.
is this commented out code needed?
Please remove or add comments inline in the code why the commented out block is relevant
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.
@slava77, as you realize this is for this Xmas production.
We cannot exclude to revive these combinations later on.
I prefer to keep the comments so that everybody knows how it was...
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.
If there is a good reason to keep this, please add a comment inline (in the code) that clarifies why the commented code is here
@@ -63,7 +63,7 @@ | |||
"LowPtQuadStep", | |||
"LowPtTripletStep", | |||
"DetachedQuadStep", | |||
"PixelPairStep", | |||
# "PixelPairStep", |
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.
is this commented out code needed?
Please remove or add comments inline in the code why the commented out block is relevant
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.
no this one not...
@cmsbuild , please test |
The tests are being triggered in jenkins. |
Pull request #16885 was updated. @cmsbuild, @cvuosalo, @slava77, @davidlange6 can you please check and sign again. |
+1 The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic: |
Comparison job queued. |
Comparison is ready The workflows 1003.0, 1001.0, 1000.0, 140.53, 136.731, 4.22 have different files in step1_dasquery.log than the ones found in the baseline. You may want to check and retrigger the tests if necessary. You can check it in the "files" directory in the results of the comparisons |
@@ -40,13 +40,16 @@ | |||
'BPix1+BPix2+BPix3+FPix1_pos','BPix1+BPix2+BPix3+FPix1_neg', | |||
'BPix1+BPix2+FPix1_pos+FPix2_pos', 'BPix1+BPix2+FPix1_neg+FPix2_neg', | |||
'BPix1+FPix1_pos+FPix2_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix2_neg+FPix3_neg', | |||
'FPix1_pos+FPix2_pos+FPix3_pos+FPix4_pos', 'FPix1_neg+FPix2_neg+FPix3_neg+FPix4_neg', | |||
# removed as redundant in current geometry (here for documentation) | |||
# 'FPix1_pos+FPix2_pos+FPix3_pos+FPix4_pos', 'FPix1_neg+FPix2_neg+FPix3_neg+FPix4_neg', |
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.
Does this mean T1/T2 will have some losses here?
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.
Did not check...
Is it relevant?
We do not have a dynamic seeding approach to geometry layout (yet...)
In any case Triplets should kick in (it may run slower)
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.
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.
Apparently PixelDigitizer has even more serious issues with T1/T2 ....
(and things will continue to diverge).
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.
We just decided at the Pixel Detector Modelling and Simulations meeting to rework the tracker geometry scenarii to keep only the "new ph2 pixel", with either the flat or tilted OT. All instances of "ph1-like pixel will be removed. So we are good to go.
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.
OK, given https://github.com/cms-sw/cmssw/pull/16885/files#r91294457 we can ignore pixel-related performance changes in phase1-like layouts in T1/T2
'pixelPairStepTracks'], | ||
hasSelector = [1,1,1,1,1,1], | ||
], | ||
hasSelector = [1,1,1,1,1], | ||
indivShareFrac = [1.0,0.16,0.095,0.09,0.09,0.09], |
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 the indivShareFrac length be changed to 5 as well? (I'm assuming it's cosmetic, given that the code ran; no length match asserts)
|
||
trackingPhase1PU70.toReplaceWith(initialStepHitQuadruplets, _initialStepHitQuadrupletsMerging) |
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.
this edit for trackingPhase1PU70 is intended, right? it just stands out in a "PhaseII" PR.
@makortel
Given limited scope of this era, it's probably not that important either way.
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.
@slava77
The "change" is to preserve the current behaviour for trackingPhase1PU70
. Before, initialStepHitQuadruplets
label pointed to PixelQuadrupletMergerEDProducer
, while Erica changes it point to PixelQuadrupletEDProducer
instead. So this line changes the label to point back to PixelQuadrupletMergerEDProducer
for trackingPhase1PU70
.
Given limited scope of this era, it's probably not that important either way.
Indeed, I'll disable the trackingPhase1PU70
workflows in a PR to be submitted soon (leaving the actual cleanup later to avoid conflicting developments for pre2).
in 900pre1 with PU200 D4Timing full workflow the winners are now clearly validation modules compared to my older tests mem profiles and (other than already posted MTV ) plot checks will come later |
Technical for PU200 23034-equivalent in 900pre1
sorted times are available in Memory peak in full job step3 with validation included changed from 7.15 GiB/thread to 6.07 GiB/thread. RECO size is down by 25% to 34 MB/evt from a combination of:
some plots to come in a separate post |
+1
|
This pull request is fully signed and it will be integrated in one of the next CMSSW_9_0_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @slava77, @davidlange6, @smuzaffar |
+1 |
This PR builds upon #16858 and
makes PhaseII consistent with PhaseI
a) Triplets with gaps
b) very-forward conbinations
c) an intermediate FPIX combination
Timing for ttbar 200PU TkOnly wf is reduced from 406 seconds to 169 seconds (on 3.5GHz Haswell)
see details in
https://twiki.cern.ch/twiki/bin/viewauth/CMS/ViTkPerfPhase21216?sortcol=3;table=1;up=1#sorted_table
physics performance are even better than those in #16858
http://innocent.home.cern.ch/innocent/RelVal/tkRecoD4_9pre2/
http://innocent.home.cern.ch/innocent/RelVal/tkRecoD4_9pre2/plots_highPurity/effandfake1.pdf
please note also
http://innocent.home.cern.ch/innocent/RelVal/tkRecoD4_9pre2/plots_highPurity/hitsAndPt.pdf
http://innocent.home.cern.ch/innocent/RelVal/tkRecoD4_9pre2/plots_selectedOfflinePrimaryVertices/recovsgen.pdf
http://innocent.home.cern.ch/innocent/RelVal/tkRecoD4_9pre2/plots_selectedOfflinePrimaryVertices/pvtagging.pdf