-
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
MTD geometry: speed up MTD reco geometry construction #43124
Conversation
…o geometry construction
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43124/37386
|
A new Pull Request was created by @fabiocos (Fabio Cossutti) for master. It involves the following packages:
@Dr15Jones, @mdhildreth, @cmsbuild, @srimanob, @makortel, @civanch, @AdrianoDee, @bsunanda can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
@@ -1,5 +1,3 @@ | |||
//#define EDM_ML_DEBUG |
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.
Do you want to remove also this comment of debug? Because I still see #ifdef EDM_ML_DEBUG
in the code.
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 would guess there is nothing left to test, next time it may be added.
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.
Not sure I understand. I see, i.e.
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("MTDNumbering") << "Module = " << fv.name() << " fullNode = " << fullNode
<< " thisNode = " << thisNode;
#endif
in the code. It is not a big deal for me. I just want to confirm if this is by intention.
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.
Just to note that the preferred way is to define the EDM_ML_DEBUG
macro at the compilation command
USER_CXXFLAGS="-DEDM_ML_DEBUG" scram b
https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideMessageLogger#LogDebug
(that doesn't provide file-level control, but the message categories are the intended ones for finer-grained control)
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 very often use file-level control, and in the past I was used to add commented #define EDM_ML_DEBUG
statements in many places. But since the file needs anyway to be edited, adding the statement directly when needed does not really make any difference, and the code looks cleaner.
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-cba403/35440/summary.html Comparison SummarySummary:
|
Hi @fabiocos |
+geometry |
@srimanob no, I would not expect a change while processing identical input samples, especially since the unit tests are ok (comparing the dump of DetIds and corresponding reference positions). I need to have a closer look to understand |
hold |
Pull request has been put on hold by @fabiocos |
assign mtd |
thanks @fabiocos for addressing this problem ! |
unhold |
-1 Failed Tests: RelVals-INPUT RelVals-INPUT
Comparison SummarySummary:
|
+1 all PRs fail with 4.76 WF since yesterday. I would merge this one, because it is absolutely unrelated and there is no sense to re-request tests. |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-cba403/35485/summary.html Comparison SummarySummary:
|
@srimanob is this PR ok for you, or do you see residual issues? |
+Upgrade |
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 |
PR description:
The DDD implementation of the MTD reconstruction geometry creation, in the
DDCmsMTDConstruction
class ofGeometry/MTDNumberingBuilder
is a killer for the startup CMSSW performances. It turns out that the veto filtering on non sensitive volumes is the key responsible for this, likely due to an excessive number offind
of strings in the logical name of processed volumes. Just removing it, without impact on the geometry reconstructed, effectively solves the problem.As a side note, the DD4hep version, implemented in parallel since 2020, does not suffer of this issue, using a different filtering approach. Unfortunately this is of little help, since we are still in the middle of the transition between different geometry back-ends.
Addressing #43062 .
PR validation:
The MTD reconstruction geometry unit tests pass, showing that the same geometry as before is reconstructed. Both
Tracer
timing and igprof profiling show a sizeable improvement, from almost 50 down to 3 seconds on the machine used for tests.Before:
With this PR: