Search NASA⌕ Search

Engineering topics

Gillis, Thomas

Publications and source records attributed to Gillis, Thomas.

Designing and prototyping extensions to the Message Passing Interface in MPICH

As HPC system architectures and the applications running on them continue to evolve, the MPI standard itself must evolve. The trend in current and future HPC systems toward powerful nodes with multiple CPU cores and multiple GPU accelerators makes efficient support for hybrid programming critical for applications to achieve high performance. However, the support for hybrid programming in the MPI standard has not kept up with recent trends. The MPICH implementation of MPI provides a platform for implementing and experimenting with new proposals and extensions to fill this gap and to gain valuable experience and feedback before the MPI Forum can consider them for standardization. Here, in this work, we detail six extensions implemented in MPICH to increase MPI interoperability with other runtimes, with a specific focus on heterogeneous architectures. First, the extension to MPI generalized requests lets applications integrate asynchronous tasks into MPI’s progress engine. Second, the iovec extension to datatypes lets applications use MPI datatypes as a general-purpose data layout API beyond just MPI communications. Third, a new MPI object, MPIX_Stream, can be used by applications to identify execution contexts beyond MPI processes, including threads and GPU streams. MPIX stream communicators can be created to make existing MPI functions thread-aware and GPU-aware, thus providing applications with explicit ways to achieve higher performance. Fourth, MPIX Streams are extended to support the enqueue semantics for offloading MPI communications onto a GPU stream context. Fifth, thread communicators allow MPI communicators to be constructed with individual threads, thus providing a new level of interoperability between MPI and on-node runtimes such as OpenMP. Lastly, we present an extension to invoke MPI progress, which lets users spawn progress threads with fine-grained control to adapt the communication performance to their application designs. We describe the design and implementation of these extensions, provide usage examples, and highlight their expected benefits with performance results.

97 MATHEMATICS AND COMPUTING↗

RMEM-REMOTE MEMORY

RMEM - a prototyping platform to explore the usage of RMA-based strategies in GPU-to-GPU communication. The implementation relies on libfabric (BSD-2 or GNUv2) to explore different synchronization approach and their associated performance. It is compatible with different network technologies such as InfiniBand, SlingShot-11, and TCP. It provides to the user host-to-host and device-to-device communication. The latter can be initiated either from the host, or from the device.

Gillis, Thomas↗

MPICH

MPICH is a high-performance and widely portable implementation of the MPI-4 standard from the Argonne National Laboratory. This release has all MPI 4 functions and features required by the standard with the exception of support for the user-defined data representations for I/O.

ECP↗

An immersed interface method for the 2D vorticity-velocity Navier-Stokes equations with multiple bodies

We present an immersed interface method for the vorticity-velocity form of the 2D Navier Stokes equations that directly addresses challenges posed by nonconvex immersed bodies, multiply connected domains, and the calculation of force distributions on immersed surfaces. The immersed interface method is re-interpreted as a polynomial extrapolation of flow quantities and boundary conditions into the immersed solid bodies, reducing computational cost and enabling simulations with nonconvex bodies that could not be discretized with previous immersed interface methods. In the flow, the vorticity transport equation is discretized using a conservative finite difference scheme and explicit Runge-Kutta time integration. The velocity reconstruction problem is transformed to a scalar Poisson equation that is discretized with conservative finite differences, and solved using an FFT-accelerated iterative algorithm. The use of conservative differencing throughout leads to exact enforcement of a discrete Kelvin's theorem, allowing for simulations with multiply connected domains and outflow boundaries that have challenged other immersed interface vortex methods. We also explore novel methods for recovering time-dependent pressure distributions on immersed bodies within a vorticity-based method and present a novel control volume formulation for recovering aerodynamic moments from only the vorticity and velocity fields. The method achieves second order spatial accuracy and third order temporal accuracy, and is validated on a variety of 2D flows in internal and free-space domains.

97 MATHEMATICS AND COMPUTING↗