English

From Merging Frameworks to Merging Stars: Experiences using HPX, Kokkos and SIMD Types

Distributed, Parallel, and Cluster Computing 2023-05-10 v2

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.

Cite

@article{arxiv.2210.06439,
  title  = {From Merging Frameworks to Merging Stars: Experiences using HPX, Kokkos and SIMD Types},
  author = {Gregor Daiß and Srinivas Yadav Singanaboina and Patrick Diehl and Hartmut Kaiser and Dirk Pflüger},
  journal= {arXiv preprint arXiv:2210.06439},
  year   = {2023}
}
R2 v1 2026-06-28T03:28:28.125Z