A few points to add to this discussion...

1. In the new (proposed) MPI-3 Fortran bindings (i.e., the "use mpi_f08" 
module), array subsections will be handled properly by MPI.  However, we'll 
have to wait for the Fortran compilers to support F08 features first (i.e., 
both the MPI Forum and the Fortran standards body collaborated to make this 
work).

2. I highly suggest that you read the section in MPI-2.2 chapter 10 about 
Fortran.  It talks about what you can and cannot expect to work with advanced 
Fortran usage.  Here's a pointer to the beginning of the MPI-2.2 doc's Fortran 
section:

    http://www.mpi-forum.org/docs/mpi22-report/node341.htm#Node341

3. It is true (to my understanding) that many Fortran compilers will create a 
copy of non-contiguous array subsections when calling a subroutine.  There are 
problems, however, if you do so with non-blocking MPI routines (e.g., calling 
MPI_ISEND with an array subsection, which the compiler implements via a 
temporary copy).  There can also be problems if the compiler makes a contiguous 
copy and you used a custom datatype that is *not* contiguous (i.e., it reflects 
the size/shape of the original, non-contiguous data -- it does not reflect the 
now-contiguous copy that the compiler used).


On Dec 15, 2011, at 3:28 AM, Patrick Begou wrote:

> Thanks all for your converging point of view about my problem.
> Portability is also an important point for this code so there is  only one 
> solution: using user defined data type.
> In my mind, this was more for C or C++ code without the fortran subarray 
> behavior but I was in error.
> 
> The problem is a little bit more complicated as the real code is a 3D 
> application but I think it's not so complicated to implement this strategy.
> 
> Now I'm convinced that  user defined data type is also an important MPI 
> feature in Fortran.
> 
> Patrick
> 
> -- 
> ===============================================================
> |  Equipe M.O.S.T.         | http://most.hmg.inpg.fr          |
> |  Patrick BEGOU           |       ------------               |
> |  LEGI                    | mailto:patrick.be...@hmg.inpg.fr |
> |  BP 53 X                 | Tel 04 76 82 51 35               |
> |  38041 GRENOBLE CEDEX    | Fax 04 76 82 52 71               |
> ===============================================================
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to