Kokkos Core implements a programming model in C++ for writing performance portable applications targeting all major HPC platforms. For that purpose it provides abstractions for both parallel execution of code and data management. Kokkos is designed to target complex node architectures with N-level memory hierarchies and multiple types of execution resources. It currently can use CUDA, HIP, SYCL, HPX, OpenMP and C++ threads as backend programming models with several other backends in development.
Kokkos Core is part of theKokkos C++ Performance Portability Programming Ecosystem.
Kokkos is aLinux Foundationproject.
To start learning about Kokkos:
-
Kokkos Lectures:they contain a mix of lecture videos and hands-on exercises covering all the important capabilities.
-
Programming guide:contains in "narrative" form a technical description of the programming model, machine model, and the main building blocks like the Views and parallel dispatch.
-
API reference:organized by category, i.e.,core,algorithmsandcontainersor, if you prefer, inalphabetical order.
-
Use cases and Examples:a serie of examples ranging from how to use Kokkos with MPI to Fortran interoperability.
The latest release of Kokkos can be obtained from theGitHub releases page.
The current release is4.4.01.
curl -OJ -L https://github.com/kokkos/kokkos/releases/download/4.4.01/kokkos-4.4.01.tar.gz
#Or with wget
wget https://github.com/kokkos/kokkos/releases/download/4.4.01/kokkos-4.4.01.tar.gz
To clone the latest development version of Kokkos from GitHub:
git clone -b develop https://github.com/kokkos/kokkos.git
To build Kokkos, you will need to have a C++ compiler that supports C++17 or later. All requirements including minimum and primary tested compiler versions can be foundhere.
Building and installation instructions are describedhere.
You can also install Kokkos usingSpack:spack install kokkos
.Available configuration optionscan be displayed usingspack info kokkos
.
For the complete documentation:kokkos.org/kokkos-core-wiki/
For questions find us on Slack:https://kokkosteam.slack.comor open a GitHub issue.
For non-public questions send an email to:crtrott(at)sandia.gov
Please seethis pagefor details on how to contribute.
Please see thefollowing page.
Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.
The full license statement used in all headers is availablehereor here.