#962: parallelize Multipole using OpenMP and MPI ------------------------------------+--------------------------------------- Reporter: rhaas | Owner: Type: enhancement | Status: review Priority: minor | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: Multipole ------------------------------------+---------------------------------------
Comment (by hinder):
I don't find either objectionable; it's just that the more code we add, the more we have to debug and maintain. I considered parallelising Multipole in the past, but rejected it because in all my timing results, I never saw Multipole taking a large amount of time. This is also the reason I was not enthusiastic about adding more accurate integration schemes. If I ever saw Multipole being important from a performance point of view, I would have been.
The integration cost is proportional to the number of interpolation points, not the number of processes, and the interpolation is naturally parallel already. So I don't think there should be a scaling issue here. In fact, by parallelising the integration, we introduce additional communication cost, which might lead to scaling problems later on. Is it easy to (when necessary) add a flag to prevent parallel integration?
I guess it can be applied, since you have done work on it, and this should not be lost or allowed to rot in the case that this is useful in future. Aimless musing: what happens if someone tries to use this with PUGH and doesn't have MPI available?