Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Daniël Mantione (daniel.mantione_at_[hidden])
Date: 2007-10-23 02:49:32


On Mon, 22 Oct 2007, Jeff Squyres wrote:

> On Oct 22, 2007, at 6:44 PM, Lourival Mendes wrote:
>
> > Hy everybody, I'm interested in use the MPI on the Pascal
> > environment. I tryed the MPICH2 list but no success. On the Free
> > Pascal Compiler list, Daniël invited me to subscribe this list and
> > open a discussion on the interface of OpenMPI for Pascal.
> >
> > Probably as Daniël knows there is almost no reference on the MPI
> > for Pascal interface, only some very few tryes, one of them in
> > Russian.
> >
> > I would like to know if there is someone working on the interface
> > of OpenMPI for Pascal?

Yes, I am :) You can find a preliminary Pascal interface for OpenMPI here:

http://www.freepascal.org/~daniel/mpi.pas

... and a small demo program:

http://www.freepascal.org/~daniel/hello_mpi.pas

> There was a mail or two about it a while ago; you might want to dig
> through the OMPI list archives. The short version is that none of
> the current Open MPI members have a desire to add Pascal bindings to
> MPI. It also might be somewhat of an uphill battle to convince the
> old-school MPI'ers to include a Pascal interface in Open MPI, even if
> it was developed by a 3rd party and contributed to the project.

Hmmm... I still would like to contribute by unit when it is done :)
 
> However, that should not deter you from pursuing a Pascal interface
> if you want one. Traditionally, extensions to MPI have been
> implemented in an MPI-neutral fashion and released into the wild as
> 3rd party libraries (such as the C++ bindings for MPI several years
> ago). The Pascal bindings likely don't need to know anything about
> the internals of an MPI implementation -- they can just call the C
> bindings. So it's possible/likely that you would write up a Pascal
> interface that would work with both Open MPI and MPICH (and any other
> MPI's out there).

Just like two different MPI implementations cannot share a mpi.h, they
cannot share a Pascal interface unit. In C++ the compiler can simply parse
the mpi.h, because C++ is a superset of C. You could perhaps use of a lot
of $ifdef.

Daniël