From: Gib Bogle on
The user's guide for MPICH says that the "MPI module does not provide
full Fortran 90 support; in particular, interfaces for the routines,
such as MPI_Send, that take choice arguments are not provided." From my
point of view this is regrettable, since I want to send and receive data
of derived type. I will be using Intel Visual Fortran 9 on Windows,
and possibly Linux. If someone has used the Intel compiler with MPICH,
and has experience with the choice arguments, I'd like to know whether
they just generate compiler warnings or fail to compile. Thanks in advance.
From: Greg Lindahl on
In article <ftc5c7$tu0$1(a)lust.ihug.co.nz>,
Gib Bogle <bogle(a)ihug.too.much.spam.co.nz> wrote:

>The user's guide for MPICH says that the "MPI module does not provide
>full Fortran 90 support; in particular, interfaces for the routines,
>such as MPI_Send, that take choice arguments are not provided." From my
>point of view this is regrettable, since I want to send and receive data
> of derived type.

MPI_Send works fine in the F90 interface, it just doesn't check the
types for you.

But, you can't send derived types, period, without extra work. Even if
you use something like OpenMPI which does include the routines with
choice arguments, you can't just send derived types. You can use the
sleezy shortcut of claiming they're some number of MPI_BYTEs each,
assuming they're of fixed size and don't contain any allocatables or
pointers. Or you can provide serialize and deserialize methods.

-- greg


From: Craig Powers on
Gib Bogle wrote:
> The user's guide for MPICH says that the "MPI module does not provide
> full Fortran 90 support; in particular, interfaces for the routines,
> such as MPI_Send, that take choice arguments are not provided." From my
> point of view this is regrettable, since I want to send and receive data
> of derived type. I will be using Intel Visual Fortran 9 on Windows,
> and possibly Linux. If someone has used the Intel compiler with MPICH,
> and has experience with the choice arguments, I'd like to know whether
> they just generate compiler warnings or fail to compile. Thanks in
> advance.

I've done derived types with ifort 9 and MPICH 2 (although I
subsequently switched to LAM and OpenMPI), but that was via mpif.h and
not the module. MPICH 1 is problematic due to the lack of some of the
MPI 2 inquiry functions.
From: Gib Bogle on
Greg Lindahl wrote:
> In article <ftc5c7$tu0$1(a)lust.ihug.co.nz>,
> Gib Bogle <bogle(a)ihug.too.much.spam.co.nz> wrote:
>
>> The user's guide for MPICH says that the "MPI module does not provide
>> full Fortran 90 support; in particular, interfaces for the routines,
>> such as MPI_Send, that take choice arguments are not provided." From my
>> point of view this is regrettable, since I want to send and receive data
>> of derived type.
>
> MPI_Send works fine in the F90 interface, it just doesn't check the
> types for you.
>
> But, you can't send derived types, period, without extra work. Even if
> you use something like OpenMPI which does include the routines with
> choice arguments, you can't just send derived types. You can use the
> sleezy shortcut of claiming they're some number of MPI_BYTEs each,
> assuming they're of fixed size and don't contain any allocatables or
> pointers. Or you can provide serialize and deserialize methods.
>
> -- greg
>
>

Hi Greg. I'm not sure what you mean by "extra work". I am creating my
own structured type with MPI_TYPE_STRUCT() and MPI_TYPE_COMMIT(). I
certainly hope I'm not doing anything sleazy! Anyway, in the meantime
I've installed mpich2 on my PC and it seems to be working OK with the
code I developed on our IBM cluster (Linux).
------------ And now a word from our sponsor ----------------------
For a quality mail server, try SurgeMail, easy to install,
fast, efficient and reliable. Run a million users on a standard
PC running NT or Unix without running out of power, use the best!
---- See http://netwinsite.com/sponsor/sponsor_surgemail.htm ----
From: Gib Bogle on
Craig Powers wrote:
> Gib Bogle wrote:
>> The user's guide for MPICH says that the "MPI module does not provide
>> full Fortran 90 support; in particular, interfaces for the routines,
>> such as MPI_Send, that take choice arguments are not provided." From
>> my point of view this is regrettable, since I want to send and receive
>> data of derived type. I will be using Intel Visual Fortran 9 on
>> Windows, and possibly Linux. If someone has used the Intel compiler
>> with MPICH, and has experience with the choice arguments, I'd like to
>> know whether they just generate compiler warnings or fail to compile.
>> Thanks in advance.
>
> I've done derived types with ifort 9 and MPICH 2 (although I
> subsequently switched to LAM and OpenMPI), but that was via mpif.h and
> not the module. MPICH 1 is problematic due to the lack of some of the
> MPI 2 inquiry functions.

Just out of interest, what are the pros (& cons) of OpenMPI vs. MPICH-2?