[mpiwg-abi] MPI-5 ABI proposal
Holmes, Daniel John
daniel.john.holmes at intel.com
Tue Jan 24 11:05:18 CST 2023
Hi Christoph,
I think the idea of "mpi_abi.h" is that everyone in the world immediately adds 4 characters to every file that currently has "mpi.h" in it. An opt-in approach.
Another possibility is that "mpi.h" becomes the ABI version of the header and we specify "mpi_impl.h" as the implementation-specific header currently exposed by the implementation. An opt-out approach.
If it's done right, no-one will (need/want to) opt out.
Best wishes,
Dan.
-----Original Message-----
From: Christoph Niethammer <niethammer at hlrs.de>
Sent: 24 January 2023 16:53
To: Holmes, Daniel John <daniel.john.holmes at intel.com>
Cc: Jeff Hammond <jeff.science at gmail.com>; mpiwg-abi at lists.mpi-forum.org
Subject: Re: [mpiwg-abi] MPI-5 ABI proposal
Hi Dan, Heff,
I am not sure if I like the idea of having another possible header file for *library-only* backward compatibility.
From a software installation perspective this looks like a nightmare to me to maintain in parallel. We are just getting rid of one header in Fortran currently. ;)
Regarding the issue Dan brought up:
I think it would be good to have at least a chance to check if MPI library and MPI header fit together.
One idea here would be to introduce a library routine "MPI_Abi_version()" that returns the API version and having a macro constant MPI_ABI_VERSION in the header, that can be compared.
This will work for applications or a tool to test if the library is build against the same ABI.
However, it will not help a library to detect if an application was build with the matching MPI header. :/
Best,
Christoph
----- Original Message -----
From: "Holmes, Daniel John" <daniel.john.holmes at intel.com>
To: "Jeff Hammond" <jeff.science at gmail.com>
Cc: mpiwg-abi at lists.mpi-forum.org
Sent: Tuesday, 24 January, 2023 16:45:36
Subject: Re: [mpiwg-abi] MPI-5 ABI proposal
Hi Jeff,
Thanks - I looked through quickly - there's nothing outlandish it there, IMHO - seems sensible/modest.
Slide 9 question "both mpi.h and mpi_abi.h in same program?"
Do you mean "in the same translation unit" or "in different libraries linked together into a single binary" or something else?
I'm thinking that the World model encourages the user to pass a communicator from the place where MPI_INIT was called into each sub-program/library - there must be agreement between them on the type/value.
There are a bunch of what-if scenarios here: passing an MPI_Status from one place to another using a parameter/return value suggests your option 1 is the correct answer there (language copy would work).
Best wishes,
Dan.
From: mpiwg-abi <mpiwg-abi-bounces at lists.mpi-forum.org> On Behalf Of Jeff Hammond
Sent: 24 January 2023 15:01
To: mpiwg-abi at lists.mpi-forum.org
Subject: [mpiwg-abi] MPI-5 ABI proposal
As requested, I have made a concrete proposal for the MPI-5 ABI.
https://docs.google.com/presentation/d/1cU9ewMUa7w3eaRVtfzov8NinyjzNSp5nF_peT92SE8I/edit?usp=sharing
Request edit access if you want to paint the bike shed with me.
Jeff
--
Jeff Hammond
jeff.science at gmail.com<mailto:jeff.science at gmail.com>
http://jeffhammond.github.io/
--
mpiwg-abi mailing list
mpiwg-abi at lists.mpi-forum.org
https://lists.mpi-forum.org/mailman/listinfo/mpiwg-abi
More information about the mpiwg-abi
mailing list