-
Notifications
You must be signed in to change notification settings - Fork 900
Mysterious 32 bit MTT build failures on Absort #3610
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
The failures occur building ompi_datatype_external.lo:
The code around ../../ompi/communicator/communicator.h:265 is
The size of ompi_communicator_t is larger than 256 bytes? |
git blame 50aa143. On 32 bits architectures, as the void* size is 32 bits, the opal_hash_table_t becomes too large for the PREDEFINED_COMMUNICATOR_PAD. We might have an issue with our ABI ... |
Ah! Good point. I guess we intended to allow 64 pointers worth of padding. But in hindsight, that's a poor measure. Should we just listed a number of bytes, instead? (e.g., 64*8=512) Sidenote: I'm not worried about our ABI between 32 and 64 bit builds. |
I was not worried about ABI 32 vs. 64 bit builds (it has no sense), but we will now have to increase the size of the PREDEFINED_COMMUNICATOR_PAD, which will translate into a ABI breakage. |
Yes, we will break ABI for 32 bit builds. But if we get this into 3.0 (and beyond), I'm not worried about it. Do you agree? |
I see what you're saying: if we change to a fixed length, equal to the size of 64*8=512, we will not change the size on 64 bits builds, so we will only break the AI on 32 bits builds. Sounds good. 👍 |
Convert the predefined MPI object padding to a fixed number of bytes (vs. a multiple of sizeof(void*)) so that the padding is the same size between 32 and 64 bit builds. I.e., we won't have a situation where we've run out of padding in 32 bit builds but still have more space available in 64 bit builds. Fixes open-mpi#3610 Signed-off-by: Jeff Squyres <[email protected]>
@cagoelz I didn't say it earlier: thanks for the detailed compilation output! 😄 |
Convert the predefined MPI object padding to a fixed number of bytes (vs. a multiple of sizeof(void*)) so that the padding is the same size between 32 and 64 bit builds. I.e., we won't have a situation where we've run out of padding in 32 bit builds but still have more space available in 64 bit builds. Fixes #3610 Signed-off-by: Jeff Squyres <[email protected]>
We're seeing odd MPI Install failures on 32 bit Absoft failures, but the log messages are not showing what the actual error is.
@cagoelz Can you shed any light, perchance, on what is failing in these builds?
https://mtt.open-mpi.org/index.php?do_redir=2446
The text was updated successfully, but these errors were encountered: