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
Performance improvement in quadruplet seeding (70X) #791
Conversation
A new Pull Request was created by @makortel (Matti Kortelainen) for CMSSW_7_0_X. Performance improvement in quadruplet seeding (70X) It involves the following packages: RecoPixelVertexing/PixelTriplets @thspeer, @slava77 can you please review it and eventually sign? Thanks. |
@makortel Does this mean that we now have a GT which would allow to run a workflow with this seeding enabled? |
Hi Slava, We have a GT in 620_SLHCX at least, about 70X I'm not sure. The 'upgrade2017' in autoCond.py of 70X still points to 612_SLHCX GTs. If I interpret I tested the changes only in 620_SLHC1, and since there were no conflicts between 620_SLHC1 and 70X in this area, I'd expect the patches to work in 70X too (but of course actually testing them would be better). |
Hi, I ran the usual tests on top of CMSSW_7_0_X_2013-09-12-0200, all tests passed: you can see the artifacts here: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/461 |
@ianna @demattia @davidlange6 Cheers Slava |
Hi Slava Its still the goal. but its not yet achieved... (and not likely to be soon) On 9/24/2013 4:22 PM, slava77 wrote:
|
Hi, Because #772 got merged, this one will no longer compile. @ktf, what would be the preferred way to fix that? Merge #772 to this branch and commit a fix, rebase this on top of recent 70X IB (and make a new PR?), or something else? I have also a more general question on the integration of this PR (@davidlange6, @slava77, @thspeer). Given that this PR can not be meaningfully tested in 70X any time soon (interpreting David's comment), should these changes be tested then in 620_SLHCX first (#784)? Or what would be a good way to proceed (also with possibly other upgrade-motivated performance improvements)? |
Hi Matti Thank you Slava |
Agreed. A rebase is usually a much cleaner way of doing things. |
OK, will do. Just to be clear, should I then push the rebased changes to a new branch and PR? |
I personally prefer to reuse the same Pull Requests, but it's up to Slava / Thomas. |
CPU performance improvement, results stayed the same.
…riplet pairs. CPU performance improvement, results stay the same.
CPU performance improvement, results stay the same.
… hits being shared. CPU performance improvement, results stay the same.
CPU performance improvement, results stay the same.
CPU performance improvement, results stay the same.
Hi Matti, Thanks Slava |
Rebased on top of CMSSW_7_0_X_2013-09-26-0200. I fixed the compilation error within a69d6ce. |
Pull request #791 was updated. @nclopezo, @smuzaffar, @thspeer, @slava77 can you please check and sign again. |
Hi Giulio, Slava |
@slava77 working on it |
@davidlange6 |
Hi Slava No (thus the name) -----Original Message----- @davidlange6https://github.com/davidlange6 — |
@davidlange6 I suppose the quadruplets are for the 2017 setup. (I tried, but still keep failing: first the matrix PU dataset was missing, after switching to an existing GEN-SIM minbias input the mixer is still broken with a more obscure "vector::_M_range_check" exception). I'm trying to run 8100.0 Exception of type St12out_of_range (address 0x2b05ac538b40) |
Hi Slava We usually test with runTheMatrix.py -w upgrade -l 3300,3400,4100,4400 (where you would care about the first one for 2017) Maybe Gaelle can clarify about the pileup scenarios - I'm not sure how the minbias gets picked up by the pyrelval stuff. From: slava77 [notifications@github.com] @davidlange6https://github.com/davidlange6 I suppose the quadruplets are for the 2017 setup. (I tried, but still keep failing: first the matrix PU dataset was missing, after switching to an existing GEN-SIM minbias input the mixer is still broken with a more obscure "vector::Mrange_check" exception). I'm trying to run 8100.0 Exception of type St12out_of_range (address 0x2b05ac538b40) — |
Hi Slava,
Finally the command: |
Thanks, Gaelle. |
the GT didn't help, I get the same failure. cmsDriver.py TTbar_Tauola_14TeV_cfi --conditions auto:upgrade2017 --eventcontent FEVTDEBUG --relval 9000,100 -s GEN,SIM --datatier GEN-SIM --beamspot Gauss --customise SLHCUpgradeSimulations/Configuration/combinedCustoms.cust_2017 --geometry Extended2017 --magField 38T_PostLS1 -n 100 --pileup AVE_45_BX_25ns --customise Validation/Performance/TimeMemoryInfo.py --fileout file:step1.root > step1_TTbar_14TeV+TTbar_UPG2017PU20_14_DES+DIGIPUUP17DES+RECOPUUP17DES+HARVESTUP17DES.log 2>&1 in: /store/disk00/slava77/reltest/CMSSW_6_2_0_SLHC1-orig going to execute cd 8100_TTbar_14TeV+TTbar_UPG2017PU20_14_DES+DIGIPUUP17DES+RECOPUUP17DES+HARVESTUP17DEScmsDriver.py step2 --conditions auto:upgrade2017 --pileup_input dbs:/RelValMinBias_TuneZ2star_14TeV/CMSSW_6_2_0_SLHC1-DES17_62_V7_UPG2017-v1/GEN-SIM --eventcontent FEVTDEBUGHLT -s DIGI,L1,DIGI2RAW --datatier GEN-SIM-DIGI-RAW --customise SLHCUpgradeSimulations/Configuration/combinedCustoms.cust_2017 --geometry Extended2017 --magField 38T_PostLS1 -n 100 --pileup AVE_45_BX_25ns --customise Validation/Performance/TimeMemoryInfo.py --filein file:step1.root --fileout file:step2.root > step2_TTbar_14TeV+TTbar_UPG2017PU20_14_DES+DIGIPUUP17DES+RECOPUUP17DES+HARVESTUP17DES.log 2>&1 |
Ah i think it's because you have twice the option --customize in your cmsdriver commands: Only the last one is taken into account and the cust_2017 is ignored , hence the crash. Try to replace those 2 customise options by a single one: --customise SLHCUpgradeSimulations/Configuration/combinedCustoms.cust_2017,Validation/Performance/TimeMemoryInfo.py |
Thanks a lot. This works now. |
pow() is supposedly (much) slower, although in the big picture the effect on timing is very small. Physics results should stay the same.
Pull request #791 was updated. @nclopezo, @smuzaffar, @thspeer, @slava77 can you please check and sign again. |
@makortel (before this pull request dies from an old age) The equivalent is in #784, right? If this change with foundNodes is important, it should probably go to 62XSLHC as well. Please advise Thanks Slava |
@slava77 @davidlange6 This PR is indeed functionally equivalent to #784. The difference regarding Maybe the best way to proceed would be to backport #772 to 62XSLHC and test it there? Then the QuadrupletSeedMerger.cc would again be equal between 62XSLHC and 70X. Cheers, |
Hi Matti, Thanks for the reminder about #772. I guess this is a good enough explanation/reference to proceed with Cheers
On 11/6/13, 8:20 AM, Matti Kortelainen wrote:
Vyacheslav (Slava) Krutelyov |
Hi Slava, Ok, fine with me :) Thanks, |
This pull request is fully signed and it will be integrated in one of the next IBs unless changes or unless it breaks tests. @ktf can you please take care of it? |
I guess we consider this a bugfix / technical enhancement right? In theory pre9 |
Here we are talking about a piece of code that doesn't run in regular If there is a 71X queue, I think it can just go there instead.
On 11/6/13, 12:34 PM, Giulio Eulisse wrote:
Vyacheslav (Slava) Krutelyov |
Reco improvements -- Performance improvement in quadruplet seeding (70X)
These changes improve the CPU performance of the quadruplet seed generation used with Phase1 pixel geometry. Only the implementation of the QuadrupletSeedMerger is altered, the results should stay the same.
Forward port of #784.