Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

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