From Merging Frameworks to Merging Stars: Experiences using HPX, Kokkos and SIMD Types
arXiv:2210.06439 · doi:10.1109/ESPM256814.2022.00007
Abstract
Octo-Tiger, a large-scale 3D AMR code for the merger of stars, uses a combination of HPX, Kokkos and explicit SIMD types, aiming to achieve performance-portability for a broad range of heterogeneous hardware. However, on A64FX CPUs, we encountered several missing pieces, hindering performance by causing problems with the SIMD vectorization. Therefore, we add std::experimental::simd as an option to use in Octo-Tiger's Kokkos kernels alongside Kokkos SIMD, and further add a new SVE (Scalable Vector Extensions) SIMD backend. Additionally, we amend missing SIMD implementations in the Kokkos kernels within Octo-Tiger's hydro solver. We test our changes by running Octo-Tiger on three different CPUs: An A64FX, an Intel Icelake and an AMD EPYC CPU, evaluating SIMD speedup and node-level performance. We get a good SIMD speedup on the A64FX CPU, as well as noticeable speedups on the other two CPU platforms. However, we also experience a scaling issue on the EPYC CPU.
References in corpus (3)
Cited by in corpus (8)
- Stellar Mergers with HPX-Kokkos and SYCL: Methods of using an Asynchronous Many-Task Runtime System with SYCL
- Preparing for HPC on RISC-V: Examining Vectorization and Distributed Performance of an Astrophyiscs Application with HPX and Kokkos
- Evaluating HPX and Kokkos on RISC-V using an Astrophysics Application Octo-Tiger
- Simulating Stellar Merger using HPX/Kokkos on A64FX on Supercomputer Fugaku
- Energy Efficiency trends in HPC: what high-energy and astrophysicists need to know
- Hydrodynamic simulations of WD-WD mergers and the origin of RCB stars
- Asynchronous-Many-Task Systems: Challenges and Opportunities -- Scaling an AMR Astrophysics Code on Exascale machines using Kokkos and HPX
- HPX with Spack and Singularity Containers: Evaluating Overheads for HPX/Kokkos using an astrophysics application