(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