Efficient mesh management is crucial for many scientific applications. We propose to develop optimized Kokkos
data structures for high-dimensional or unstructured meshes. These data structures aim to reduce
computational costs by leveraging optimized memory management for modern GPU-based architectures.
The innovation lies in designing mesh data structures that are both portable and adaptable
to the specific constraints of Exascale architectures, ensuring scalability and optimal efficiency.
- Some scientific applications - plasma physics, quantum simulations, turbulence modeling -
require 6D/7D data structures. Extend Kokkos views to support such
high-dimensional data while preserving performance portability. Key efforts include native support for
6D/7D views with optimized memory layout and indexing for GPUs, improved memory access for
efficiency across architectures, validation through benchmarks and demonstrators. These
enhancements will benefit Exascale-targeted scientific codes.
- Develops a flexible API for optimizing unstructured mesh algorithms on GPUs. It will
support both static and dynamic strategies, including mesh reordering (RCM, Morton, Hilbert) for
better cache locality, loop restructuring for optimized data access, hierarchical parallelism using
shared memory and registers, load balancing via connectivity-aware mesh partitioning, and race
condition management through partition coloring and atomics. The API will allow switching
between strategies based on code-specific patterns to maximize GPU efficiency.
- Create a Kokkos-based library for unstructured mesh processing.
It will offer predefined mesh structures (e.g., edge shells, ball of points), parallel
execution schemes for vectorized operations and efficient memory use, and multi-architecture
support (AMD, Intel, NVIDIA) via Kokkos backends (CUDA, HIP, SYCL, OpenMP). The library,
building on work from Exa-DI (PEPR NumPEx), will provide a scalable, portable solution for scientific
code adaptation to GPU-based Exascale systems.