2020/03/20 Parallel Model Plan



Stage Fusion

  • check for no dependency (ij)
  • check for same computational extents
Merged into parallel model
      

Simple lowering

  • each VR -> 1 MS with user specified loop order
  • each Statement -> 1 Stage
Merged into parallel model

MultiStage fusion

  • check for compatible loop order
  • check for vertical dependencies, then cannot merge (read in 2nd MS with vertical offset after write in first MS)
  • do not merge if halo too large
Merged into parallel model

Make Loop order parallel

  • check for vertical dependencies
  • make parallel if not found
Merged into parallel model


Multistage Check for Solver Patterns

  • Done by Tobias
Merged into parallel model

MultiStage Check

  • asserts if halo size too large
(not critical)

Stage reordering

  • improve data locality within MS
  •  take statements from the bottom, move them up as far as possible without violating read after write in the same multistage
Merged into parallel model

Stage Split

  • no longer needed, needs to be removed
Merged into parallel model