Skip to content

Restoring 32-bit support #11409

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

Closed
barracuda156 opened this issue Feb 14, 2023 · 10 comments
Closed

Restoring 32-bit support #11409

barracuda156 opened this issue Feb 14, 2023 · 10 comments

Comments

@barracuda156
Copy link

Referring to: #11248 (comment)

@jsquyres @awlauria
Yes, I am interested to maintain 32-bit compatibility. Could you please advise me on what is needed?

Context: we want ppc platforms to be supported in Macports, and those are predominantly ppc32.

@jsquyres
Copy link
Member

@barracuda156 Thanks for responding.

Did you see the conversation about this topic that occurred at #11282 (comment)? It might be worth reading -- it's someone in a similar situation as you: Debian. They support a bunch of 32-bit platforms, and have MPI libraries and applications on those platforms.

There is also a second conversation that occurred at nearly the same time on the Open MPI "devel" mailing list: https://www.mail-archive.com/[email protected]/msg21447.html. It's not entirely clear yet whether Yatindra (the volunteer from the devel list) is going to submit their 32-bit work / maintain it over time. That being said, it would be good to have multiple 32-bit maintainers.

To be clear: we (the Open MPI community) are not opposed to continuing 32-bit support, but:

  • For reasons I described in the PR Have configure abort if building for 32 bit #11282 discussion, none of the other Open MPI community members have any customers or users who actually use MPI or run HPC applications in 32-bit environments. Hence, we don't have any use cases to support it.
  • Only you and Yatindra have volunteered to maintain it.
  • Debian has also expressed an interest in 32-bit support, but after some discussion, it was determined that they have no known users who run MPI in 32 bit environments. Instead, their rationale is the inertia of existing Debian libraries and apps that are supported in 32-bit environments; many of them are MPI-only, but at least a bunch of them can optionally support MPI. It would be a bunch of work to selectively disable MPI for 32-bit environments in those packages.

Out of curiosity: do you have any known users who run MPI in 32-bit environments?

@barracuda156
Copy link
Author

@jsquyres I will read through the references, thank you.

Out of curiosity: do you have any known users who run MPI in 32-bit environments?

We have a number of ports that depend on MPI, some of those require MPI (perhaps akin to Debian case?). For some of those ports – in math and science – I am the maintainer, so yes, at least 1 user is known for sure :)

P. S. For unrelated technical reasons we do not have reliable statistics for ports usage on older macOS (system curl is too old, and to make mpstats work with new curl a manual setup of Macports is needed, which most users are either unaware of – or otherwise find it burdensome).

@jsquyres
Copy link
Member

@barracuda156 Are you going to provide a PR to restore 32 bit support? v5.0.0 is getting quite close; time is running out.

@barracuda156
Copy link
Author

@barracuda156 Are you going to provide a PR to restore 32 bit support? v5.0.0 is getting quite close; time is running out.

Sorry for a delay, I get back to this in very beginning of April. Out of station at the moment, and I need my PPC machines – it is not a kind of task I would work on in Rosetta emulation.

@thesamesam
Copy link
Contributor

@barracuda156 Did you get anywhere with it in the end?

@jsquyres
Copy link
Member

@thesamesam v5.0.0 was released without 32 bit support. Let's go ahead and close this issue; if someone wants to open a PR to re-introduce -- and more importantly, maintain over time -- 32 bit support, we'd love to see it. Thanks!

@jsquyres jsquyres closed this as not planned Won't fix, can't repro, duplicate, stale Dec 19, 2023
@barracuda156
Copy link
Author

@thesamesam @jsquyres There are several issues at the moment, and from the outlook it seems quite broken. Initial build failures I got were trivial to fix, however several components of OpenMPI may be rather troublesome.
I did not give up on the idea in principle, however it is not very high on priority list.
Life would have been easier if 32-bit support was considered when writing the code to begin with, but we are where we are.

I may have mentioned earlier, but I am not really sure that even 4.x versions worked correctly. (Though my testing was rather basic and it could be the case that my setup was not correct which affected results.)

If I have time and mood, I may give this another go. If it happens to be broken beyond repair, well, there is MPICH which works decently so far.

@rhc54
Copy link
Contributor

rhc54 commented Dec 19, 2023

Life would have been easier if 32-bit support was considered when writing the code to begin with...well, there is MPICH

In the FWIW category: on at least one of the problematic subsystems, Argonne's MPICH team was directly involved in the design - and had no interest in 32-bit support. 🤷‍♂️

@barracuda156
Copy link
Author

@rhc54 I did not claim otherwise, I am not involved with MPICH upstream and have no stakes there :)
What I know is that it does build and work on 32-bit though (because some of my Fortran ports use it). Not perfectly, I guess, but also not broken at the build stage.

@jsquyres
Copy link
Member

Life would have been easier if 32-bit support was considered when writing the code to begin with, but we are where we are.

Just to be clear, Open MPI was originally written to fully support 32 and 64 bit. However, over the years, 32 bit support became less important in real-world HPC, and therefore people stopped caring about it. It is likely that parts of the code (and/or entire features) we developed over time that didn't really consider 32 bit.

All this being said, not much has changed since #11409 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants