Subject: Re: [Boost-mpi] No arg init
From: Matthias Troyer (troyer_at_[hidden])
Date: 2013-01-17 10:27:15
Thank you! I've committed the patch to config.hpp to the trunk and have also updated the documentation.
On Jan 16, 2013, at 4:08 PM, Alain O Miniussi <alain.miniussi_at_oca.eu> wrote:
> 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.
>> 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-mpi mailing list
Boost-Commit list run by troyer at boostpro.com