OCCA: A unified approach to multi-threading languages
read the original abstract
The inability to predict lasting languages and architectures led us to develop OCCA, a C++ library focused on host-device interaction. Using run-time compilation and macro expansions, the result is a novel single kernel language that expands to multiple threading languages. Currently, OCCA supports device kernel expansions for the OpenMP, OpenCL, and CUDA platforms. Computational results using finite difference, spectral element and discontinuous Galerkin methods show OCCA delivers portable high performance in different architectures and platforms.
This paper has not been read by Pith yet.
Forward citations
Cited by 3 Pith papers
-
A High-Order Arbitrary Lagrangian-Eulerian Discontinuous Galerkin Method for the Boltzmann Equation in Nearly Incompressible Flows
Proposes and validates an ALE-DG method for the Boltzmann equation in nearly incompressible flows with moving boundaries, showing GCL satisfaction on tests including plunging airfoil and swimming fish.
-
Architecture-aware $h$-to-$p$ optimisation: spectral/$hp$ element operators for mixed-element meshes
Architecture-aware optimizations for spectral/hp operators on mixed-element meshes achieve Helmholtz throughput on tetrahedra within 2.5 times that of hexahedra despite six times more floating-point operations.
-
Coarse Solvers for Exascale Solution of Poisson Problems
A structured non-nested coarse space enables communication-free interpolation in a two-level Schwarz solver for p-multigrid, shown effective versus BoomerAMG in Nek5000/RS tests on Summit and Frontier.
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.