Subject: Re: [Boost-mpi] No arg init
From: Matthias Troyer (troyer_at_[hidden])
Date: 2012-12-31 04:44:25
On Dec 4, 2012, at 10:53 AM, Alain O Miniussi <alain.miniussi_at_oca.eu> wrote:
> On Thu, 2012-11-29 at 12:55 -0500, Jeremiah Willcock wrote:
>> On Thu, 29 Nov 2012, Matthias Troyer wrote:
>>> On Nov 29, 2012, at 5:23 PM, Jeremiah Willcock <jewillco_at_[hidden]> wrote:
>>>> Another issue with MPI versions is that Boost.MPI currently uses
>>>> functions such as MPI_Address that have been removed in MPI 3.0. Is
>>>> that something that should be addressed in the future? I think the
>>>> replacements for some of them did not exist before MPI 2.0.
>>> A valid point - we will have to provide two implementations depending on
>>> which version of MPI is present. Is there any standardized macro that
>>> one an check to determine the MPI version at compile time?
>> There are MPI_VERSION and MPI_SUBVERSION, but those are in 2.0 and above
>> only as well. You can probably use their being undefined to mean that the
>> implementation does not comply to 2.0. I don't know how many 1.1-only MPI
>> implementations are around anymore, though; there may not be any still in
>> use (MPI 2.0 was released in 1997).
> That's a good point, especially if the "historical" C++ API was not
> present in 1.1 (which I think it's the case, it's not clear to me if it
> was introduced in 1.2 or 2.0). Maybe we should only take into
> consideration 2.0 and 3.0.
> Also, if some 1.1 only API are still use, how many requires a Boost.MPI
> interface ?
> As far as the no arg init is concerned, it seems to me that that
> - providing them will simplify the API,
> - even if some 1.1 only MPI are still around, even if some of them have
> a use for Boost.MPI, even if those do not support a no arg Init, theirs
> users still have the possibility to provide those arguments anyway.
It should be easy to provide a no arg init version and make that the default in the documentation, but still keep the arg init version in case someone should have an MPI version that requires it.
Boost-Commit list run by troyer at boostpro.com