-
Notifications
You must be signed in to change notification settings - Fork 186
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
[vecgeom] Disable aggressive compiler optimizations #7992
Conversation
A new Pull Request was created by @smuzaffar (Malik Shahzad Muzaffar) for branch IB/CMSSW_12_5_X/master. @cmsbuild, @smuzaffar, @aandvalenzuela, @iarspider can you please review it and eventually sign? Thanks. |
please test |
assign simulation |
New categories assigned: simulation @mdhildreth,@civanch you have been requested to review this Pull request/Issue and eventually sign? Thanks |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-a29b8e/26132/summary.html The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: Comparison SummarySummary:
|
please test |
-1 Failed Tests: UnitTests Unit TestsI found errors in the following unit tests: ---> test runtestRecoEgammaElectronIdentification had ERRORS Comparison SummarySummary:
|
assign simulation |
@smuzaffar , differences are uniformly distributed over WFs. All what I see is 0 entries to some histogram versus 1 entry. Differences are in tracker, in HLT, and in muons (am not sure). Much less in EGamma. My interpretation is that it is MC history difference - we have different MC events. The difference may be in a very local code but not easy to find where. In such cases, we use to ask for PdmV validation - it is similar to compiler change. From common sense point of view -O2 should provide correct results but I afraid, we cannot change the master without PdmV limited test. In other IBs we may switch without a problem. What I do not understand @hahnjo : are you sure that we should compile VecGeom with -O2 and keep Geant4 and DD4hep with -O3? |
My previous comment was not precise. The number of differences in the case of sim history change should be much more. What we see likely is not history change - events are nearly the same but in some cases selection of data for histograms is different. |
@smuzaffar @civanch I think the fact that there are differences shows how ubiquitous and critical this problem is. In theory, I would expect identical results when switching between
This should be fine, yes. |
Out of curiosity, did you check which of the optimisation flags enabled by According to the GCC 10 manual,
Also, does GCC 10.4 fixes the problem ? |
Just to prove the point, I've now built Geant4 and VecGeom 1.1.18 (to avoid the crash with the change introduced with 1.1.19) and now I see slight differences between
No, I didn't so far...
No, both vanilla GCC 10.2 and 10.4 show the problem in VecGeom, as does 10.3 used in CMSSW. GCC versions 9 and 11 are fine though... |
FWIW it's got something to do with |
+1
|
@aandvalenzuela now I see it, thank you: https://cmssdt.cern.ch/SDT/html/cmssdt-ib/#/ib/CMSSW_12_5_X For some reason, there are two PRs that wern't picked in that IB, even if they were both merged before the ORP meeting: However
Therefore, I think that next CMSSW_12_5_X_2022-07-19-2300 plus this PR and the two above can be safely compared with CMSSW_12_5_G4VECGEOM_X_2022-07-19-1800 for what simulation is concerned Let merge this one, then! |
merge |
Ah, wait: but that IB was in the VECGEOM stream.... Uhm... now this is merged. Maybe we will revert this one after 2300 IB, and tomorrow morning 1100 IB will be the one with "-O3" to compare with. I cannot follow any more by this evening, sorry |
Indeed... Sorry, there was some confusion yesterday evening, and then I could not follow any more.
As soon as the 1100 IB will become available, we will re-revert the PR, in order to have the "non-aggressive" compiler flag for the remaining of the 12_5_X cycle. |
FWIW the problem resurfaced in #8211 with the next version 1.2.1 of VecGeom and gcc11. After some investigations, I opened https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108008, let's see what the GCC people think. |
as suggested by @hahnjo #7987 (comment)