#962: parallelize Multipole using OpenMP and MPI ------------------------------------+--------------------------------------- Reporter: rhaas | Owner: Type: enhancement | Status: closed Priority: minor | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: wontfix | Keywords: Multipole ------------------------------------+--------------------------------------- Changes (by rhaas):
* status: review => closed * resolution: => wontfix
Comment:
I am not sure I buy into all arguments. Right now Multipole does one radius after the other so time there are nradii calls to the (global) interpolator. With the patch there are (given that we usually have more processors than extraction radii) 2 calls (one for the interpolator, one for MPI_Allgatherv which also transports to Root only). And even Allgatherv is only needed for HDF5 output where we use an inherently serial file layout with all data in a single file.
The patch works fine with PUGH (just tried replacing Carpet with PUGH in the test_rads test), it also works without MPI (since then NProcs==1 and the Allgatherv that will be skipped by the #ifdef would be a no-op, tested by manually #undef CCTK_MPI). I am not sure it would make sense to run without MPI since eg. Carpet requires it.
However simplicity is certainly something good to have and premature optimization is to be avoided. I can live with the patch not being applied. I'll retract it.