(j3.2006) [MPI3 Fortran] Feedback from Fortran J3 meeting
Bill Long
longb
Thu May 29 19:38:11 EDT 2008
dick.hendrickson at att.net wrote:
>
>
> -------------- Original message from Dan Nagle
> <dannagle at verizon.net>: --------------
>
>
> > Hello,
> >
>
> One of the old Cray compilers had a "BLOCK" directive. It
> acted as if it was a CALL to a subroutine with
> unknowable insides and an argument list that contained every
> accessible variable. The net effect was that the optimizer
> couldn't do any code motion across the CALL in either direction.
>
We still have such a directive, though it is called SUPPRESS now. It
allows a variable list, in which case only those variables are affected.
Cheers,
Bill
>
> Suppose you did something similar and invented a BLORTZ attribute
> for subroutines. If a subroutine has the attribute, then no code
> can be moved across the call and no variables can be kept
> in registers across the call. It's a heavy hammer, in that it
> marks all of the accessible variables as if they were asynchronous
> across an MPI call; but, as Bill hinted at, I bet that not many
> compilers are able to generate code that keeps things in registers
> across a CALL and is measurably cost effective.
>
> This separates the problem. The user already has to not
> touch any variables that MPI is using asynchronous! ly.
> All the BLORTZ attribute will do is prevent the compiler
> from moving safe code into an unsafe region.
>
> It seems to me that using variables asynchronously is more
> of a subroutine property than a variable property.
>
> Dick Hendrickson
>
> >
> > If we can specify those two issues, we can cover MPI
> > and a lot of other communications and storage libraries as well.
> >
> > --
> > Cheers!
> >
> > Dan Nagle
> >
> >
> >
> >
> > _______________________________________________
> > J3 mailing list
> > J3 at j3-fortran.org
> > http://j3-fortran.org/mailman/listinfo/j3
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> J3 mailing list
> J3 at j3-fortran.org
> http://j3-fortran.org/mailman/listinfo/j3
>
--
Bill Long longb at cray.com
Fortran Technical Support & voice: 651-605-9024
Bioinformatics Software Development fax: 651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120
More information about the J3
mailing list