parthenon-hpc-lab / parthenon

Parthenon AMR infrastructure
https://parthenon-hpc-lab.github.io/parthenon/
Other
105 stars 33 forks source link

`par_for` defaults #1034

Open pgrete opened 3 months ago

pgrete commented 3 months ago
          Actually a broader conversation... which maybe I should start and/or just implement, is the `par_for`s that aren't tied to meshblock shouldn't need to take in an exec space. We should provide overloads that accept default arguments. (Not your problem for this MR though.)

_Originally posted by @Yurlungur in https://github.com/parthenon-hpc-lab/parthenon/pull/1024#discussion_r1537732260_

pgrete commented 3 months ago

I'd even go as far as suggesting to remove the pmb->par_for entirely and replace it with a md->par_for (in addition to the default one). My main motivation is that the original idea behind the pmb version was to be able to dispatch to different streams in parallel. Given what we learned over the past years, I don't see us going back to the individual block level, but remain at the MeshData level and thus moving the pmb->par_for upwards in the hierarchy.

pgrete commented 3 months ago

From the sync https://github.com/parthenon-hpc-lab/parthenon/wiki/2024.03.28-Meeting-Notes