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
backport of #13448: small performance improvement in Tracking, and #14344: avoid redundant computations in StripCPE #15295
backport of #13448: small performance improvement in Tracking, and #14344: avoid redundant computations in StripCPE #15295
Conversation
please test |
tracked at #15151 |
The tests are being triggered in jenkins. |
A new Pull Request was created by @fwyzard (Andrea Bocci) for CMSSW_8_0_X. It involves the following packages: DataFormats/Common @smuzaffar, @civanch, @Dr15Jones, @cvuosalo, @mdhildreth, @cmsbuild, @slava77, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are list here #13028 |
@fwyzard please use more readable title for this PR. |
Comparison not run due to Build errors (RelVals and Igprof tests were also skipped) |
-1 Tested at: 335deac You can see the results of the tests here: I found follow errors while testing this PR Failed tests: Build ClangBuild
I found an error when building: >> Compiling edm plugin /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_0_X_2016-07-24-2300/src/RecoTracker/MeasurementDet/plugins/RecHitPropagator.cc >> Compiling edm plugin /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_0_X_2016-07-24-2300/src/RecoTracker/MeasurementDet/test/MeasurementTrackerUpdator.cc >> Compiling edm plugin /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_0_X_2016-07-24-2300/src/RecoTracker/FinalTrackSelectors/plugins/TrackCollectionMerger.cc >> Compiling edm plugin /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_0_X_2016-07-24-2300/src/RecoTracker/FinalTrackSelectors/plugins/CosmicTrackSelector.cc /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_0_X_2016-07-24-2300/src/RecoTracker/MeasurementDet/plugins/TkStripMeasurementDet.cc: In member function 'void TkStripMeasurementDet::simpleRecHits(const TrajectoryStateOnSurface&, const MeasurementTrackerEvent&, std::vector&) const': /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_0_X_2016-07-24-2300/src/RecoTracker/MeasurementDet/plugins/TkStripMeasurementDet.cc:216:20: error: 'value_type' is not a member of 'TkStripMeasurementDet::AClusters {aka DynArray}' unInitDynArray(AClusters::value_type,detSet.size(),clusters); ^ /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_0_X_2016-07-24-2300/src/RecoTracker/MeasurementDet/plugins/TkStripMeasurementDet.cc:216:56: error: 'clusters' was not declared in this scope unInitDynArray(AClusters::value_type,detSet.size(),clusters); ^
I found a compilation error while trying to compile with clang: result.push_back(std::move(std::make_shared(recHit))); ^ /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_0_X_2016-07-24-2300/src/RecoTracker/MeasurementDet/plugins/TkStripMeasurementDet.h:186:24: note: remove std::move call here result.push_back(std::move(std::make_shared(recHit))); ^~~~~~~~~~ ~ /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_0_X_2016-07-24-2300/src/RecoTracker/MeasurementDet/plugins/TkStripMeasurementDet.cc:216:31: error: no member named 'value_type' in 'DynArray' unInitDynArray(AClusters::value_type,detSet.size(),clusters); ~~~~~~~~~~~^ /build/cmsbuild/jenkins-workarea/workspace/ib-any-integration/CMSSW_8_0_X_2016-07-24-2300/src/RecoTracker/MeasurementDet/plugins/TkStripMeasurementDet.cc:216:56: error: use of undeclared identifier 'clusters' unInitDynArray(AClusters::value_type,detSet.size(),clusters); ^ |
335deac
to
3e77b63
Compare
Should the "-Ofast" compiler option be eliminated from this PR as was done for #15280? It produces marginal timing improvements, and it creates some unnecessary differences, though they are tiny. From the tests described above, the number of difference plots for 25202.0 are as follows.
|
@cvuosalo |
@cmsbuild please test |
The tests are being triggered in jenkins. |
+1 Performance improvements in tracking and strip CPE. The code changes match those put into 81X by #13448 and #14344. Jenkins tests show no problems, but they are incomplete. Extended tests described above show numerous, tiny, insignificant differences, more jitter and fluctuation than real differences. CPU timing tests indicate a speed up of around 5% for affected modules. |
This pull request is fully signed and it will be integrated in one of the next CMSSW_8_0_X IBs after it passes the integration tests. This pull request requires discussion in the ORP meeting before it's merged. @slava77, @davidlange6, @smuzaffar |
New Jenkins tests show the numerous, tiny, insignificant differences that are expected for this PR; otherwise, they show no problems. |
+1 |
backport to 8.0.x: