Workshop: MEMO’25: International Workshop on Memory System Management and Optimization
Authors: Kristi Belcher (Lawrence Livermore National Laboratory) and David Beckingsale (Lawrence Livermore National Laboratory (LLNL))
Abstract: Modern high-performance computing (HPC) systems present application developers with increasingly complex memory hierarchies that include multiple types of memory with varying access patterns, capacities, and performance characteristics. Managing these resources efficiently while maintaining code portability across different architectures remains a significant challenge. To address these challenges, Umpire was developed at Lawrence Livermore National Laboratory (LLNL) as an open-source library that provides a unified, portable memory management API for modern HPC platforms with multiple memory devices like NUMA and GPUs. This paper explores Umpire’s design principles, outlines Umpire’s primary performance advantages, and examines howits memory pools can provide speedups of 15x or greater. Next, it demonstrates how its integration with the RAJA Portability Suite enables the development of portable and performant HPC applications. With real-world examples from LLNL’s production codes, Umpire provides a comprehensive solution for managing the challenges of performance portability in modern HPC environments.
Back to MEMO’25: International Workshop on Memory System Management and Optimization Archive Listing Back to Full Workshop Archive Listing