Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] RFC: MPI Interface Extensions Infrastructure
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-05-26 10:00:58


Exxxcellent. :-)

On May 26, 2009, at 9:57 AM, Josh Hursey wrote:

> As a heads up, this RFC expires today. We discussed it last week
> during the teleconf and there were no objections.
>
> I updated the HG branch to the current trunk, and, if there are not
> objections, I will commit it to the trunk this afternoon [target 1.5].
>
> Cheers,
> Josh
>
> On May 11, 2009, at 2:37 PM, Josh Hursey wrote:
>
> >
> > What: Infrastructure for MPI Interface Extensions
> >
> > Why: Allow for experimentation with new interfaces without
> > changing mpi.h
> >
> > Where: Temporary Mercurial branch (link below)
> > http://cgi.cs.indiana.edu/~jjhursey/public-tmp/hg/hgwebdir.cgi/mpi-ext/
> >
> > When: Apply on trunk before branching for v1.5
> >
> > Timeout: 2 weeks - May 26, 2009 after the teleconf.
> >
> >
> ---------------------------------------------------------------------
> > Description:
> >
> > At times developers want to expose non-standard, optional interfaces
> > to users. These interfaces may represent MPI interfaces to be
> > presented to the MPI Forum for standardization. In order to add such
> > an interface to Open MPI you must add it directly to the ompi/mpi/
> > directory and mpi.h. The combination of standard and non-standard
> > interfaces inside mpi.h becomes troublesome to many developers and
> > users.
> >
> > This branch allows developers to create a directory under ompi/
> > mpiext/ for their extension (see ompi/mpiext/example in the HG
> > branch for an example). By default, all extensions are disabled.
> > They can be enabled through a configure option '--enable-ext='. This
> > option takes a list of extensions that should be built as part of
> > Open MPI. The user can include all of the extensions by referencing
> > the appropriate header file (e.g., #include <mpi-ext.h> ), and
> > compiling with the normal wrapper compilers (e.g., mpicc).
> >
> > This infrastructure was designed and discussed on July 2, 2008 at an
> > Open MPI developers meeting directly following an MPI Forum meeting.
> > I have been developing this branch over the past few months under
> > the advisement of Jeff and Brian. The C interface is functional and
> > stable. The C++, F77, and F90 interfaces have not been completed.
> > There are comments in the appropriate build system files
> > (particularly config/ompi_ext.m4) that indicate where a developer
> > would need to focus to finish support for these language bindings if
> > needed. I have not completed them since I do not feel comfortable
> > enough at this time with these languages to provide such
> > functionality.
> >
> > I would like to bring this into the trunk before v1.5 branch. Having
> > the infrastructure in the trunk will make it easier to maintain off-
> > trunk experimental interface development.
> >
> > As part of this RFC, I will also update the 'MPI Extensions' wiki
> > page to describe how a developer can get started using this
> > infrastructure:
> > https://svn.open-mpi.org/trac/ompi/wiki/MPIExtensions
> >
> >
> ---------------------------------------------------------------------
> > How to use the branch:
> >
> > Configure with this additional option:
> > --enable-ext=example
> >
> > Compile the following sample MPI program with 'mpicc' per usual.
> > /*---------------------------------*/
> > #include <stdio.h>
> > #include <mpi.h>
> > #include <mpi-ext.h>
> >
> > int main(int argc, char *argv[])
> > {
> > int rank, size;
> >
> > MPI_Init(&argc, &argv);
> >
> > MPI_Comm_rank(MPI_COMM_WORLD, &rank);
> > MPI_Comm_size(MPI_COMM_WORLD, &size);
> >
> > OMPI_Progress("Go OMPI! Go!");
> >
> > MPI_Finalize();
> >
> > return 0;
> > }
> > /*---------------------------------*/
> >
> > _______________________________________________
> > devel mailing list
> > devel_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>

-- 
Jeff Squyres
Cisco Systems