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

Reply via email to