In executing numerical simulations on cluster-type high-performance computing (HPC) systems, distributed-memory parallelization is required. In today’s large-scale numerical simulations, the Message Passing Interface (MPI) is typically used for distributed-memory parallelization.  In general, when implementing MPI parallelization, it is necessary to ensure that there are no dependencies that hinder parallelization and that the results remain consistent after parallelization. It is also essential to design and implement how to divide the computational domain (or processing units) and how to exchange data between the divided domains. However, it is often impractical for computational scientists to devote significant time to MPI parallelization, and in some cases, this work is outsourced. Such outsourced MPI implementations often result in code with reduced readability, making maintenance difficult.

In this study, we propose Mutton, an MPI support function suite designed to reduce the user’s burden of MPI parallelization. Mutton provides functions that automate complex operations required for MPI implementation, such as computational domain decomposition and boundary data exchange. Furthermore, it includes functions and frameworks for applying optimization techniques aimed at reducing simulation runtime, such as overlap methods between computation and communication using thread operations and the assistant-process method, which performs file I/O concurrently with computation.

Mutton (version 1.0) provides the following set of functions required for numerical fluid dynamics (CFD) simulation codes.

The interface is currently available only in Fortran (a C language interface is planned for future release).

  • MPI initialization and finalization
  • Computational domain decomposition (up to two-dimensional decomposition)
  • Data distribution and collection
  • Exchange of boundary elements
  • Residual aggregation

Using only the Mutton function suite, complete MPI parallelization is possible; however, it can also be applied selectively to specific parts of a program.

For requests, questions, or inquiries regarding Mutton, please contact: nri-sec@ais.cmc.osaka-u.ac.jp