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

Examine Hypre code that uses kokkos and raja #23

Closed cathieO closed 5 years ago

cathieO commented 5 years ago

We need to understand how these are used and why both are included? Also, what are the concrete problems with OpenCL? Steve Smith seems to indicate that we should pick one or the other.

cathieO commented 5 years ago

Include Sysl in evaluation

ian-bertolacci commented 5 years ago

Initial Hypre reivew: A lot of different architecturally specific code is intermixed using ifdefs to guard, and doesn't appear to be hidden behind macros. (for example, par_csr_matvec.c:108 and pfmg_setup.c:1043 ). We'd like something with more behind the scenes abstractions. Here seems to be an example of a macro using kokkos _hypre_struct_mv.h:1113

mstrout commented 5 years ago

Hypre is, as Steve indicated, targeting multiple backends. To do this, it is using a number of ifdefs as Ian indicated in his comment. We can decide what target code we want to generate and thus keep the parflow code simpler. Should we figure out how to call parallel versions of Hypre?