Subject: Re: [Boost-mpi] No arg init
From: Alain O Miniussi (alain.miniussi_at_[hidden])
Date: 2013-01-16 18:08:31
There is an attached patch with that change.
If it's ok, and once commited, I'll move to the thread init.
On Mon, 2012-12-31 at 23:05 +0100, Matthias Troyer wrote:
> 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.
> > Alain
> I checked the implementation and we do have a no arg init for MPI 2.0 or higher since that can be tested by MPI_VERSION. You can also manually define BOOST_MPI_HAS_NOARG_INITIALIZATION to enable it for MPI 1.2 or MPI 1.3 implementations. I assume that this is good enough and we might just want to edit the documentation to make the no arg version the default in the documentation.
-- Alain Miniussi Responsable Tech. Centre de Calcul Haute Performance Obs. de la CÃ´te d'Azur |Mont Gros: +33 4 92 00 30 09 BP 4229 |Sophia : +33 4 83 61 85 44 06304 Nice Cedex 4 |https://crimson.oca.eu
Boost-Commit list run by troyer at boostpro.com