Skip to content
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

Improve DD4hep workflow perf, step 2: Remove regex from Phase 1 trackerRecoMaterial.xml #32511

Merged
merged 15 commits into from Dec 21, 2020

Conversation

ghugo83
Copy link
Contributor

@ghugo83 ghugo83 commented Dec 16, 2020

This also has big impact on perf in the DD4hep workflow, and no diff in perf in the DDD workflow.

NB 1: I have directly modified Geometry/TrackerRecoData/data/PhaseI/trackerRecoMaterial.xml, which is the only trackerRecoMaterial.xml for Phase 1.
If this file should be rather duplicated to be changed, please let me know and I will just move it.

NB 2: To avoid merge conflicts, this branch is on top of #32505 , which should be merged first.

@ianna @civanch @cvuosalo

…lysis/data/trackingMaterialGroups_ForPhaseI.xml, which had identical names as the SpecPar blocks in trackerRecoMaterial.xml (!!). This file was added few months ago to all geometry scenarios (why is that? as it is only used for testing materials anyway). It has a very big impact on DD4hep Run3 workflow perf. The underlying issue is that in DetectorDescription/DDCMS, when processing XMLs files for DD4hep, all SpecPar sections with same name are merged together. This results in lookups in (extremely heavy !) paths of trackingMaterialGroups_ForPhaseI.xml being made while searching for TrackerRadLength, despite TrackerRadLength not being defined in those files anyway!
…erial.xml. I presume the pixfwdblade.*Zplus had been done to distinguish from the pixfwdblade[0-9]:PixelForwardBlade. But this is not recessary, because the pixfwdblade[0-9]:PixelForwardBlade are not called in any geo scenario where data/PhaseI/trackerRecoMaterial.xml is used.
…these paths are not looped over when not needed anyway, hence this commit has no effect on workflow perf).
… has very small, but non-null, impact on perf.
…erial.xml. Very significant perf improvement. This version is compatible to work on both DDD and dd4hep cases.
…ngMaterialGroups_ForPhaseI.xml, version working for both DDD and dd4hep.
@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32511/20450

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @ghugo83 for master.

It involves the following packages:

Geometry/TrackerRecoData
SimTracker/TrackerMaterialAnalysis

@civanch, @Dr15Jones, @makortel, @cvuosalo, @ianna, @mdhildreth, @cmsbuild can you please review it and eventually sign? Thanks.
@fabiocos, @vargasa, @makortel, @mtosi, @GiacomoSguazzoni, @JanFSchulte, @rovere, @VinInn, @apsallid, @ebrondol, @threus, @dgulhan this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@cvuosalo
Copy link
Contributor

Phase I (Run 3) XML files must be given a new version number when changed.

@ghugo83
Copy link
Contributor Author

ghugo83 commented Dec 16, 2020

Phase I (Run 3) XML files must be given a new version number when changed.

Ok, will duplicate that file then.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32511/20464

@cvuosalo
Copy link
Contributor

@cmsbuild please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-258ecf/11800/summary.html
CMSSW: CMSSW_11_3_X_2020-12-18-1100/slc7_amd64_gcc900

DAS Queries failed

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 7 differences found in the comparisons
  • DQMHistoTests: Total files compared: 36
  • DQMHistoTests: Total histograms compared: 2716967
  • DQMHistoTests: Total failures: 12
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 2716932
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.004 KiB( 35 files compared)
  • DQMHistoSizes: changed ( 312.0 ): 0.004 KiB MessageLogger/Warnings
  • Checked 153 log files, 37 edm output root files, 36 DQM output files

@cvuosalo
Copy link
Contributor

@ghugo83 The name for the trackingMaterialGroups_ForPhaseI file needs to be SimTracker/TrackerMaterialAnalysis/data/trackingMaterialGroups_ForPhaseI/v1/trackingMaterialGroups_ForPhaseI.xml.

@civanch
Copy link
Contributor

civanch commented Dec 19, 2020

@cvuosalo , are you sure about this SimTracker/TrackerMaterialAnalysis/data/? Is it a part of DB payload?

@civanch
Copy link
Contributor

civanch commented Dec 20, 2020

+1

Let us merge this PR and if extra updates are needed implement in the following PR, because we should be able to see effect of these updates. @kpedro88 , please, have a look.

@kpedro88
Copy link
Contributor

+upgrade

@cmsbuild
Copy link
Contributor

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. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@qliphy
Copy link
Contributor

qliphy commented Dec 21, 2020

+1

@silviodonato
Copy link
Contributor

@ghugo83 there is a conflict

@cmsbuild cmsbuild merged commit da19975 into cms-sw:master Dec 21, 2020
@mrodozov
Copy link
Contributor

@silviodonato I'm following, it looks merging went fine . If something is breaking we can revert to rebase and restart the build

@ghugo83
Copy link
Contributor Author

ghugo83 commented Dec 21, 2020

Thanks, sorry was travelling.
Just had a quick look and evth is ok.

I will just rename SimTracker/TrackerMaterialAnalysis/data/v1/trackingMaterialGroups_ForPhaseI.xml to SimTracker/TrackerMaterialAnalysis/data/trackingMaterialGroups_ForPhaseI/v1/trackingMaterialGroups_ForPhaseI.xml as suggested, but that is just a renaming.
I will do it quickly tonight when I am back to a computer ;p
Thanks again,
Gabrielle

@ghugo83
Copy link
Contributor Author

ghugo83 commented Dec 21, 2020

  • Merge conflict: as mentioned there should be none. This branch is purposefully based on top of the 'step 1' one, so that there should be no conflict to fix to merge this PR, once step 1 is merged :)
  • This PR properly restore SimTracker/TrackerMaterialAnalysis/data/trackingMaterialGroups_ForPhaseI.xml and use a dedicated v1 version instead.
    So evth went as expected :)

@cvuosalo
Copy link
Contributor

@civanch trackingMaterialGroups_ForPhaseI.xml is in the 2021 dictionary for scenario T3, which is used for the 2021 extended geometry, so I think the previous version of this file was included in the current Run 3 geometry in the DB.
I will fix the names in a new PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants