Open RemiLehe opened 5 years ago
Also, it seems that PML::Exchange
is called every time that FillBoundary
is called. This is not necessarily needed, since FillBoundary
is sometimes called before field gathering, in which case the PML do not need to be updated.
When running with PML, WarpX performs MPI guard cell exchanges:
FillBoundary
)FillBoundary
)PML::Exchange
)While
FillBoundary
is getting faster thanks to various efforts on the AMReX side, I think thatPML::Exchange
is not being optimized to the same level. In particular,PML::Exchange
makes many calls toParallelCopy
(essentially for convenience), some of them exchanging data that is mostly 0 by construction. There could be opportunities for optimization.