Presentation
SIGN IN TO VIEW THIS PRESENTATION Sign In
Umpire: Portable Memory Management for High-Performance Computing Applications
DescriptionModern 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.
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.

