[MPI3 Fortran] Sample implementation

Jeff Squyres jsquyres at cisco.com
Tue Apr 22 09:24:06 CDT 2008


We had a short call because it was just Torsten, Jeff, and Craig  
(i.e., one Fortran guy and 2 guys who are interested but not experts).

Craig's going to reach out to the other Fortran experts and ensure  
that we're moving forward.  He's also going to work on a small sample  
implementation to ensure that we're moving in the right direction --  
some small wrappers around a handful of functions the ensure that the  
concepts are right, it works, etc.  With a small enough number of  
functions, keeping them updated with the current ideas and discussion  
shouldn't be too hard.  Additionally, although Craig is likely to do  
this work in Open MPI, the code should be more-or-less portable (i.e.,  
likely with a little bit of work) to other MPI's to test with.

Here's a list of functions that I suggest (others can be included of  
course):

6-function MPI
- MPI_INIT
- MPI_FINALIZE
- MPI_SEND
- MPI_RECV
- MPI_COMM_RANK
- MPI_COMM_SIZE
Some non-blocking functions
- MPI_ISEND
- MPI_IRECV
- MPI_WAITALL
A function with a string
- MPI_GET_PROCESSOR_NAME
Memory pointers
- MPI_ALLOC_MEM
- MPI_FREE_MEM
Varargs
- MPI_PCONTROL
Functions dealing with function pointers
- MPI_COMM_ERRHANDLER_SET
- MPI_COMM_ERRHANDLER_GET

Along with at least the following pre-defined MPI handles (others can  
be included of course):

Basic handles
- MPI_INTEGER
- MPI_COMM_WORLD
"Weird" handles
- MPI_BOTTOM
- MPI_STATUSES_IGNORE
Function pointer handle
- MPI_ERRORS_ARE_FATAL

These should be representative enough of the different kinds of types  
that we need to deal with.

Did I miss anything?

-- 
Jeff Squyres
Cisco Systems




More information about the mpiwg-fortran mailing list