-
Notifications
You must be signed in to change notification settings - Fork 859
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
Enable by default the _sync version of atomic operations on OS X. #633
Conversation
Refer to this link for build results (access rights to CI server needed): Build Log
Test FAILed. |
Refer to this link for build results (access rights to CI server needed): Build Log
Test FAILed. |
Refer to this link for build results (access rights to CI server needed): Build Log
|
Refer to this link for build results (access rights to CI server needed): |
Refer to this link for build results (access rights to CI server needed): |
|
Refer to this link for build results (access rights to CI server needed): |
AC_DEFINE([OPAL_C_GCC_INLINE_ASSEMBLY], [1], | ||
[Whether C compiler supports GCC style inline assembly]) | ||
opal_cv_asm_builtin="BUILTIN_NO" | ||
if test "$opal_cv_asm_builtin" = "BUILTIN_NO" -a "$enable_builtin_atomics" = "yes" ; 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.
Isn't the first part of this test
trivially true because of the line above? Is this just to match the style of the other if
checks below so that the if
block could be more easily moved around later?
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.
yes the first part is trivial but as you noticed it keeps all the if blocks similar.
Two issues:
|
@bosilca It looks like you made a bad rebase + push since I last commented. The PR now shows ~15 commits, most of which are not yours. What's going on here? |
8f35740
to
29321e0
Compare
I helped @bosilca fix his rebasing problems today. Looks like alles gut now with this PR. Merge? |
@bosilca Looks like this PR also had a bad rebase (after our session that fixed the problems in SJC...). Can you fix? Do you want to webex where we can fix this together? |
a38cf80
to
9c3db9a
Compare
9c3db9a
to
277269b
Compare
@hjelmn did you had the time to investigate the potential impact of the atomic swap? |
Will check performance numbers tomorrow. |
See no noticeable difference in performance with the builtins vs asm. |
I'll merge it then. Thanks. |
Enable by default the _sync version of atomic operations on OS X.
As most compilers gain support for builtin atomics I propose to switch the default Open MPI behavior with regard to atomics. Instead of relying on our own atomics, we should leverage what the compiler, or the OS, is supporting. This patch change the default behavior for builds on OSX or with a compiler supporting gcc-type atomic builtins.
This is a replacement for the now defunct #288.
@goodell and @hjelmn please review.