-
Notifications
You must be signed in to change notification settings - Fork 900
Atomics broken on ARMv5 #1162
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
Comments
My guess is osc/pt2pt is to blame. I will update it in a bit. |
This is unfortunately only true on arm > v6. --- opal/threads/thread_usage.h 2015-12-15 00:10:58.412181433 +0000 -#if OPAL_HAVE_ATOMIC_MATH_64
} #if OMPI_ENABLE_THREAD_MULTIPLE On 3 December 2015 at 19:38, Todd Kordenbrock [email protected]
|
Per discussion 24 Feb 2016, @hjelmn will look at this. |
Is there a pointer to the discussion? I've been debugging this in Debian |
It was in a conference call. Planning to fix this today. |
I've been testing a patch (attached). regards On 08/03/2016 16:20, Nathan Hjelm wrote:
Alastair McKinstry, [email protected], [email protected], https://diaspora.sceal.ie/u/amckinstry |
Apologies for the inline patch; the Debian repo is in subversion :-(
|
Not quite correct, the types have to be changed as well. |
Will post a PR to master in a bit. |
@regrant Does portals4 support 32-bit platforms? If not we can leave the portals4 component as is. |
@hjelmn You can leave the Portals4 component as is, there is no stated support for 32-bit and there are no plans for 32-bit system support in the future. |
@regrant Thats what I figured. That leaves just osc/pt2pt. |
Some platforms do no support 64-bit atomic math. osc/pt2pt was using OPAL_THREAD_ADD64 unconditionally which was causing compilation to fail on these platforms. The function in question was alreay grabbing a lock on the osc/pt2pt module so moved the increment to after the lock to protect the module member (instead of using an atomic). Fixes open-mpi/ompi#1162 Signed-off-by: Nathan Hjelm <[email protected]>
@amckinstry Please double-check that the fix works for you: https://github.com/hjelmn/ompi-release/commit/f8c72a199dfabe0b2c891a53c4825f58728c6fd3.patch |
That seems wrong, the atomic add is still there in addition to t asecond increment |
Ah hjelmn/ompi-release@f8c72a1 is correct but not the .patch... |
Hmm strange it is correct now, sorry... |
@hjelmn Thanks, this works for me. |
…dproc bug fix: race condition when multiple threads create the same endpoint simultaneously
Hi there, ../../../ompi/.libs/libmpi.so: undefined reference to Cheers. |
There is one fragment from an old arm_detection patch at Debian that was not included in 2.1.1:
Now the armv7 is possibly unneeded, but the second fragment looks relevant. We currently have no armv5 hardware in the build systems to test, though |
Thanks for the feedback. It seems not to be enough, even with the correct detection of armv5-*-gnueabi, it seems that some 64 instructions remain in mca/osc:
|
@eatdust GitHub pro tip: surround verbatim blocks with a line of 3 tick marks, and GitHub will render it in fixed width font, etc. See https://help.github.com/articles/creating-and-highlighting-code-blocks/ |
Per @pterjan note on fe09355:
This breaks openmpi builds in other cases as it is used in various places:
When compiling on armv5 I get:
The text was updated successfully, but these errors were encountered: