This program looks like a more complicated version of Jacobi iteration to the compiler.
-
Allocate arrays based on DISTRIBUTE
-
Apply owner-computes rule
-
Detect communication from dependence analysis and intrinsics
-
Useful optimizations include aggregating communication, overlapping communication with computation
-
All of this becomes more interesting if the program encapsulates operations in a subroutine
-
The programmer must trade off efficiency for flexibility and maintainability
|