Boost logo

Boost-MPI :

Subject: Re: [Boost-mpi] No arg init
From: Alain O Miniussi (alain.miniussi_at_[hidden])
Date: 2012-11-29 11:05:24


Hal,

Based on http://www.mpi-forum.org/docs/mpi-20-html/node43.htm#Node43.

Only implementations conforming to MPI1.1 are allowed to require passing
the actual values provided to main, MPI-2 does not.

I don't know what kind of compatibility we want to maintain wrt
MPI1,(afaic, stuff that is in the range 2.x-3.x would be fine) but that
change would only concern a subset of MPI 1.1 implementations, and
passing the arguments would still be allowed.

But I guess the main question is: do we want to deal with 3 versions of
the MPI standard ?

Also, if Boost.MPI is presented as the successor of the C++ bindings,
and if I am correct in assuming that the MPI::Init function always
provided both versions, it would be weird to maintain a pre-existent
limitation.

Alain

On Thu, 2012-11-29 at 08:33 -0600, Hal Finkel wrote:
> Alain,
>
> I thought the system was arranged as it was because some MPI implementations pass special arguments from the runtime system to the MPI library via special command-line arguments. Passing the args to MPI_Init allows the library to intercept those arguments (and erase them from the arg list seen by the rest of the program). I don't know if any real implementations work this way, but we may want to be careful about discouraging passing the real arg variables to MPI_Init.
>
> -Hal
>
> ----- Original Message -----
> > From: "Matthias Troyer" <troyer_at_[hidden]>
> > To: "alain miniussi" <alain.miniussi_at_oca.eu>, "Discussion of Boost.MPI development" <boost-mpi_at_[hidden]>
> > Sent: Thursday, November 29, 2012 5:17:35 AM
> > Subject: Re: [Boost-mpi] No arg init
> >
> > Hi Alain,
> >
> > You can indeed provide no arg initialization and just fake arguments
> > for MPI-1.
> >
> > Matthais
> >
> > On Nov 29, 2012, at 12:13 PM, Alain O Miniussi
> > <alain.miniussi_at_oca.eu> wrote:
> >
> > >
> > > Hi,
> > >
> > > While working on the thread issue, a question arises regarding the
> > > no
> > > arg initialization.
> > >
> > > I understand that some MPI1.x might not allow it, but should
> > > BOOST.MPI
> > > refect that choice ? Why can't we just pass dummy empty (argc,argv)
> > > to
> > > MPI_Init(_thread) since, after all, no specific values are required
> > > ?
> > >
> > > This would simplify our API, and I do not see any down side.
> > >
> > > Any though ?
> > >
> > > Thanks
> > >
> > > --
> > > 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-mpi_at_[hidden]
> > > http://lists.boost.org/mailman/listinfo.cgi/boost-mpi
> >
> > _______________________________________________
> > Boost-mpi mailing list
> > Boost-mpi_at_[hidden]
> > http://lists.boost.org/mailman/listinfo.cgi/boost-mpi
> >
>

-- 
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