hydroframe / ParFlow_PerfTeam

Parflow is an open-source parallel watershed flow model.
http://inside.mines.edu/~rmaxwell/maxwell_software.shtml
Other
0 stars 0 forks source link

Enable Parallelism in RichardsJacobianEval loop 531 #52

Closed ian-bertolacci closed 5 years ago

ian-bertolacci commented 5 years ago

(similar to #11 ) We are working towards making the semantics of the GrGeomInLoop macro (and eventually others) such that any iteration of the body may be executed concurrently in parallel with another, and that the body of the loop should be written to not contain race conditions.

One step in this process is to make loop 531 parallelizable Steps:

Split the scatter section of the loop out into a new loop Store temporary variables into a submatrix Reverse scatter pattern into a gather pattern

ian-bertolacci commented 5 years ago

Present in my fork & branch: https://github.com/ian-bertolacci/parflow/tree/split_loop