Hi
I've been pinged by the upstream maintainer of OpenMPI Â Â Jefff
Squyres as to our opinions on maintaining 32-bit support.
See a thread here: https://github.com/open-mpi/ompi/pull/11282
Until now I've asked for OMPI to hold off going to 64-bit only; saying
we can help with the maintenance burden with our testing
infrastructure.
But we're not well suited to run multi-node test jobs.
If 32-bit support is dropped in OMPI we can switch to MPICH as the
default on those archs instead, but the core problem remains: how much
can we support and test on 32-bit?
Hi
I've been pinged by the upstream maintainer of OpenMPI Jefff Squyres as
to our opinions on maintaining 32-bit support.
See a thread here: https://github.com/open-mpi/ompi/pull/11282
Until now I've asked for OMPI to hold off going to 64-bit only; saying we
can help with the maintenance burden with our testing infrastructure.
But we're not well suited to run multi-node test jobs.
If 32-bit support is dropped in OMPI we can switch to MPICH as the default
on those archs instead, but the core problem remains: how much can we
support and test on 32-bit?
(Note: We're at OpenMPI 4.1.4 now for Bookworm; no change planned)
Comments please,
Alastair McKinstry
--
Alastair McKinstry,
GPG: 82383CE9165B347C787081A2CBE6BB4E5D9AD3A5
e: mckinstry@debian.org, im: @sceal.ie:mckinstry
On 2023-02-07 10:54, Alastair McKinstry wrote:
Hi
I've been pinged by the upstream maintainer of OpenMPI Â Â Jefff
Squyres as to our opinions on maintaining 32-bit support.
See a thread here: https://github.com/open-mpi/ompi/pull/11282
If 32-bit support is dropped in OMPI we can switch to MPICH as the
default on those archs instead, but the core problem remains: how much
can we support and test on 32-bit?
Switching to mpich would in any case be supported by a lot of our
upstream developers. In various different projects we hear them recommending mpich and occasionally expressing discontent with bugs in openmpi.
To make it simpler for ourselves, we could also consider just
switching to mpich altogether as default. Are there reasons to prefer 64-bit OMPI over MPICH?
Drew
Hi Alastair,
Thanks for relaying OpenMPI's upstream
maintainer's interest in our opinions on
maintaining 32 bit support.
My humble comments are
1.) 32 bit hardware can be more secure because
it's so old it predates back doors known as
Intel's Management Engine[1] and
AMD's Platform Secure Processor[2]
2.) and I'm OK with reporting bugs.
Thanks again,
Kingsley
[1] https://en.wikipedia.org/wiki/Intel_Management_Engine#Security_vulnerabilities
[2] https://en.wikipedia.org/wiki/AMD_Platform_Security_Processor#Reported_vulnerabilities
On 02/07/2023 09:54, Alastair McKinstry wrote:--
Hi
I've been pinged by the upstream maintainer of OpenMPI Â Â Jefff Squyres as >> to our opinions on maintaining 32-bit support.
See a thread here: https://github.com/open-mpi/ompi/pull/11282
Until now I've asked for OMPI to hold off going to 64-bit only; saying we
can help with the maintenance burden with our testing infrastructure.
But we're not well suited to run multi-node test jobs.
If 32-bit support is dropped in OMPI we can switch to MPICH as the default >> on those archs instead, but the core problem remains: how much can we
support and test on 32-bit?
(Note:Â We're at OpenMPI 4.1.4 now for Bookworm; no change planned)
Comments please,
Alastair McKinstry
--
Alastair McKinstry,
GPG: 82383CE9165B347C787081A2CBE6BB4E5D9AD3A5
e: mckinstry@debian.org, im: @sceal.ie:mckinstry
Hi,
The push-back from upstream is that they're unconvinced anyone is actually using i386 for MPI.
For example, MPI is configured to use PMIx but its thought that doesn't work on 32-bit, but no bugs have been reported.
Either we increase our 32-bit testing regime, or realistically consider it marginal and dying.
Currently I'm favouring accepting a move to 64-bit OpenMPI as a fait
accompli as part of code cleanups for 5.X (post Bookworm), and Debian moving to MPICH on at least 32-bit archs - I'd favour OpenMPI on 64-bit archs for better incoming-code-and-compatability support.
I'd like to hear the case otherwise.
Best regards
Alastair
I've been making this point, mostly in the context of avoiding a futureCurrently I'm favouring accepting a move to 64-bit OpenMPI as a faitThe case we should make is that "no one cares about 32-bit builds" from
accompli as part of code cleanups for 5.X (post Bookworm), and Debian moving >> to MPICH on at least 32-bit archs - I'd favour OpenMPI on 64-bit archs for >> better incoming-code-and-compatability support.
I'd like to hear the case otherwise.
the starting post in the GitHub issue is not true for Debian.
We do care that it *builds*, even if it might not be actually used.
[1] was about the benefits of switching the two architectures that were
using MPICH to OpenMPI two years ago. The mentioned "makes packages like octave build" is due to sundials build depending on mpi-default-dev but requiring ompi-c.pc [2].
m68k and sh4 are building with nocheck, whether or not there might be additional/different test failures in packages with MPICH is unknown.
Having different MPI implementations on different architectures again
would be painful for us, especially if it would be on release architectures.
If it would be architecturally hard for upstream to continue supporting 32-bit then that's how it is, otherwise the current status quo of 32-bit OpenMPI is good enough for us and a possible compromise might be if
upstream says "32-bit patches are welcome" and requires an
--i-know-that-32-bit-support-is-unsupported-and-might-be-broken
configure flag when building for 32-bit archs.
Best regardscu
Alastair
Adrian
[1]https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853029#18 [2]https://buildd.debian.org/status/fetch.php?pkg=sundials&arch=m68k&ver=5.7.0%2Bdfsg-1~exp1&stamp=1626976038&raw=0
...
The case we should make is that "no one cares about 32-bit builds" fromI've been making this point, mostly in the context of avoiding a future
the starting post in the GitHub issue is not true for Debian.
We do care that it *builds*, even if it might not be actually used.
where no MPI is available on 32-bit
(and by implication, essentially forking Debian into a toy 32-bit world and
a properly-supported 64-bit one).
...
The point of going 64-bit only is to clean up data structures and remove technical debt: Hence 5.x will start a cleanup and removal of 32-bit code.
The next point release may work on 32-bit by just bypassing the compilation flag; ongoing support starts meaning more invasive patches need to be
carried by us.
On Mon, Feb 13, 2023 at 10:59:18AM +0000, Alastair McKinstry wrote:
...I don't see what important functionality for 32-bit today would be
The case we should make is that "no one cares about 32-bit builds" fromI've been making this point, mostly in the context of avoiding a future
the starting post in the GitHub issue is not true for Debian.
We do care that it *builds*, even if it might not be actually used.
where no MPI is available on 32-bit
(and by implication, essentially forking Debian into a toy 32-bit world and >> a properly-supported 64-bit one).
missing without MPI, it is just more work and breakages to have packages configured differently on different platforms to continue providing the functionality that is still important.
...This sounds as if the lesser evil for us will be to configure packages differently when one or all MPI implementations are going away on 32-bit.
The point of going 64-bit only is to clean up data structures and remove >> technical debt: Hence 5.x will start a cleanup and removal of 32-bit code. >>
The next point release may work on 32-bit by just bypassing the compilation >> flag; ongoing support starts meaning more invasive patches need to be
carried by us.
For example:
ffmpeg -> codec2 -> octave -> sundials -> sundials does not build with MPICH One of these four arrows must be broken.
That's work and not fun work, but likely the lesser evil.
cu
Adrian
On 13/02/2023 12:51, Adrian Bunk wrote:
On Mon, Feb 13, 2023 at 10:59:18AM +0000, Alastair McKinstry wrote:
...I don't see what important functionality for 32-bit today would be
The case we should make is that "no one cares about 32-bit builds" from the starting post in the GitHub issue is not true for Debian.I've been making this point, mostly in the context of avoiding a future where no MPI is available on 32-bit
We do care that it *builds*, even if it might not be actually used.
(and by implication, essentially forking Debian into a toy 32-bit world and
a properly-supported 64-bit one).
missing without MPI, it is just more work and breakages to have packages configured differently on different platforms to continue providing the functionality that is still important.
There are a significant number of science libraries dependent on MPI.
We would need to do MPI-free builds of these libraries; I'm not sure how
much breaks as we do.
...
The point of going 64-bit only is to clean up data structures and remove technical debt: Hence 5.x will start a cleanup and removal of 32-bit code.
The next point release may work on 32-bit by just bypassing the compilation flag; ongoing support starts meaning more invasive patches need to be carried by us.
On Mon, Feb 13, 2023 at 02:18:06PM +0000, Alastair McKinstry wrote:
On 13/02/2023 12:51, Adrian Bunk wrote:Would we, though? Or should we remove the 32-bit builds of those libraries as well?
There are a significant number of science libraries dependent on MPI.
We would need to do MPI-free builds of these libraries; I'm not sure how
much breaks as we do.
I think it's accurate that no one is using those scientific libraries in production (which is, basically: doing lots of matrix math) on 32-bit architectures, because all of the vector instructions you want for such work are only available on 64-bit CPUs.
So the only application of those 32-bit binaries, really, is either a) letting users of those 32-bit archs learn the tools on the hardware they
have available, so they can use them to advantage later on fit-for-purpose hardware; or b) using them to build other software in Debian.
Is either of those a compelling reason to keep building those software
stacks for 32-bit? I would argue not. But neither is it obvious at what point it's worth the effort to remove them, since this requires tracking the reverse-dependency tree, working out which of those reverse-dependencies are *not* scientific applications that should drop the build-dependency rather than being removed, and so forth.
So it's a tradeoff between the maintenance work of keeping mpi working on 32-bit, and the one-time work of removing it.
...
working out which of those reverse-dependencies are
*not* scientific applications that should drop the build-dependency rather than being removed, and so forth.
So it's a tradeoff between the maintenance work of keeping mpi working on 32-bit, and the one-time work of removing it.
...
The counterpoint is if someone does a high-core-count 32-bit arch for
HPC; x32 could (have been) such an architecture, but its development
looks stalled.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (0 / 16) |
Uptime: | 161:45:30 |
Calls: | 10,385 |
Calls today: | 2 |
Files: | 14,057 |
Messages: | 6,416,500 |