#1884: provide support for multi-model runs in thorn MPI ------------------------------------+--------------------------------------- Reporter: rhaas | Owner: Type: enhancement | Status: review Priority: minor | Milestone: Component: EinsteinToolkit thorn | Version: development version Resolution: | Keywords: MPI ------------------------------------+---------------------------------------
Comment (by rhaas):
I am no longer sure.
For C, the functionality is the identical between this and Carpet I think. The code would only collect the functionality on one spot rather than in each driver.
I think for Fortran, however, Carpet's aliased functions won't work since there is no way to dereference the returned CCTK_POINTER_TO_CONST. The returned pointer is a pointer to the C MPI communicator struct, which (as far as I know) does not have to be bit-identical to Fortran's MPI_Communicator type (which is INT).
Having said all of this, the original usage case I had for this no longer exists (I think it had to do with running PUGH under LoadLeveler or something similar, I have PUGH/Carpet patches that would make user of this code to provide the aliased functions). The implementation of the Reset functions is also somewhat ugly.