On Sat, Jul 17, 2010 at 09:14:11AM -0700, Eugene Loh wrote:
> Jeff Squyres wrote:
> >On Jul 17, 2010, at 4:22 AM, Anton Shterenlikht wrote:
> >>Is loop vectorisation/unrolling safe for MPI logic?
> >>I presume it is, but are there situations where
> >>loop vectorisation could e.g. violate the order
> >>of execution of MPI calls?
> >I *assume* that the intel compiler will not unroll loops that contain MPI function calls. That's obviously an assumption, but I would think that unless you put some pragmas in there that tell the compiler that it's safe to unroll, the compiler will be somewhat conservative about what it automatically unrolls.
> More generally, a Fortran compiler that optimizes aggressively could
> "break" MPI code.
> That said, you may not need to worry about this in your particular case.
This is a very important point, many thanks Eugene.
Fortran MPI programmer definitely needs to pay attention to this.
MPI-2.2 provides a slightly updated version of this guide:
Room 2.6, Queen's Building
Mech Eng Dept
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 331 5944
Fax: +44 (0)117 929 4423