CI: – Dr. Daniel Price
PHANTOM is a publicly available smoothed particle hydrodynamics and magnetohydrodynamics code for astrophysics, described in Price et al. (2018). It contains working implementations of hydrodynamics, magnetohydrody- namics, self-gravity, sink particles, general relativistic hydrodynamics, radiation hydrodynamics, multiple species dust- gas hydrodynamics and more. Since the initial release of the code in 2018 more than 160 papers have been published using the code. In our group at Monash we continually strive to develop and improve the capabilities of the code, but this is always done with science applications in mind. What this means is that less scientific aspects of the code (i.e. those that do not lead directly to papers), such as working on the MPI scaling, tend to be de-prioritised compared to physics improvements.
While PHANTOM is written in hybrid openMP-MPI parallelisation, all scientific use to date has relied on the shared-memory-only code, restricting the available hardware to single nodes on Ozstar (16 or 32 cpus) or Gadi (48 cpus). There are several application areas where this limitation is now pressing, most importantly in simulations of common envelope evolution — forming part of Mike Lau’s PhD project at Monash and Miguel Gonzalez’s PhD project at Macquarie University (under Orsola de Marco).
The aim of this project is to identify the main bottlenecks in the current MPI implementation, identify areas for optimisation and to create a list of priorities/structural changes required to obtain the desired ability to utilise more than the 16, 32 or 48 cores available by being restricted to a shared-memory-only mode. The project will also seek to add rigorous testing (including performance checks) of the MPI code to the existing continuous integration workflow and identify other (non-MPI) areas for optimisation.