-
Notifications
You must be signed in to change notification settings - Fork 171
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
Added GEANT4_BUILD_MULTITHREADED env variable: #1189
Conversation
ihrivnac
commented
Jun 12, 2018
- The variable allows different setting of the GEANT4_BUILD_MULTITHREADED CMake option
- The default value "OFF" is overridden ("ON") in defaults-o2.sh and defaults-o2-dev-fairroot.sh
geant4.sh
Outdated
@@ -25,6 +25,10 @@ env: | |||
--- | |||
#!/bin/bash -e | |||
|
|||
if [ ! $GEANT4_BUILD_MULTITHREADED ]; then |
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.
Change those three lines to:
: {GEANT4_BUILD_MULTITHREADED:=OFF}
which does exactly the same. (Mind the :
at the beginning of the line.)
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.
A small glitch to fix. Can you also add the variable to o2-ninja
please? Thanks!
geant4.sh
Outdated
-DGEANT4_USE_SYSTEM_EXPAT=OFF \ | ||
${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ | ||
# if this variable is not defined default it to OFF | ||
: {GEANT4_BUILD_MULTITHREADED:=OFF} |
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.
This should be:
: ${GEANT4_BUILD_MULTITHREADED:=OFF}
(a $
is missing).
Actually I can't modify/edit o2-ninja.sh in relation to this PR (on this very branch). I would prefer doing it in a sep PR directly hereafter. |
need to update branch; review is blocking update
Hm I don't understand why you can't edit it. Let me check. |
OK I just did it. |
What is the status here? The CI test seems to be actually failing. |
Can this be merged, please? |
Aren’t the failures related? |
Also, could you please rebase it? There are conflicts. |
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.
There seems to be a lot of spurious messages / errors from what seems to be MT related. Are you really sure you want to merge this?
There seems to be a problem with switching the GEANT4_BUILD_TLS_MODEL option from "global-dynamic" to "initial-exec"; this option was set to get working the dynamical loading of libraries via ROOT gSystem when running in MT mode, however it brought an overhead (~3%) when running in sequential mode with libraries built with MT enables. |
CC7, GCC v7.3.0 |
Note that we can selectively enable it on certain platforms if you tell us so. |
The platforms which we tested locally were: |
Fine. But if the production environment has this problem it means that we are back to accepting a 3% penalty just by theoretically enabling this mode (without even using it). At least I have a problem with this. Is there no other way to avoid this? How are other experiments solving this issue? |
CMS uses https://github.com/cms-sw/cmsdist/blob/IB/CMSSW_10_3_X/gcc700/geant4.spec not sure if they have anything extra in the framework itself. |
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 approve but I have no idea on the subject :)
For the record, the reasoning to put |
I note that even with |
In the new log, only the new test o2sim_G4_mt fails, and it happens at exit, so there is some problem with final clean-up, which I will investigate. |
I proposed a fixed for the warnings in O2 PR #1382. With introducing the new function InitializeO2Detector() in O2 there was disconnected the initialisation of sensitive volumes, triggered by DefineSensitiveVolumes() in FairRoot. |
- The variable allows different setting of the GEANT4_BUILD_MULTITHREADED CMake option - The default value "OFF" is overriden ("ON") in defaults-o2.sh and defaults-o2-dev-fairroot.sh
@ihrivnac there is something systematically wrong in your Git workflow (you keep bringing here commits that don't belong and are already in master).
Hope this helps! |
Thanks. I clicked on "Update branch" in github, and got again the red button: |
Yes, merging is blocked because there is a negative review. Were the comments from @ktf addressed? |
At leasts all the tests are green now, however there is no way to check if the spurious messages. Didn't we copy successful test logs? That said, no more objections as long as things are green. |
Successful logs are not retained ATM. |
I would have preferred resolving the performance problem before merging. Will re-open https://alice.its.cern.ch/jira/browse/O2-172 since we are back to |