×

OCCA

swMATH ID: 18538
Software Authors: Medina, David; St-Cyr, Amik; Warburton, Timothy
Description: OCCA: A unified approach to multi-threading languages. 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.
Homepage: https://libocca.org
Source Code:  https://github.com/libocca/occa
Keywords: C++ library; OCCA; Cluster Computing; arXiv_cs.DC; multi-threading languages; host-device interaction
Related Software: Gmsh; PETSc; FEniCS; LIBXSMM; libMesh; CUDA; MFEM; Nek5000; libCEED; PyFR; deal.ii; OpenCL; Laghos; PCBDDC; METIS; hypre; VisIt; GLVis; PUMI; SUNDIALS
Cited in: 16 Publications

Standard Articles

2 Publications describing the Software, including 1 Publication in zbMATH Year
High-order finite-differences on multi-threaded architectures using OCCA. Zbl 1352.65251
Medina, David; St-Cyr, Amik; Warburton, Timothy
2015
OCCA: A unified approach to multi-threading languages
David S Medina, Amik St-Cyr, T. Warburton
2014

Citations by Year