.. role:: raw-html-m2r(raw)
:format: html
.. include:: mydefs.rst
Kokkos: The Programming Model
=============================
.. admonition:: :medium:`C++ Performance Portability Programming Model`
:class: important
:medium:`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 development.`
The `Kokkos Ecosystem `_ includes:
.. list-table::
:widths: 30 50 20
:header-rows: 1
:align: left
* - Name
- Info
-
* - ``kokkos``
- (this library) Programming Model - Parallel Execution and Memory Abstraction
- `GitHub link `__
* - ``kokkos-kernels``
- Sparse, dense, batched math kernels
- `GitHub link `__
* - ``kokkos-tools``
- Profiling and debugging tools
- `GitHub link `__
* - ``pykokkos``
- Provides Python bindings to the Kokkos performance portable parallel programming.
- `GitHub link `__
* - ``kokkos-remote-spaces``
- Shared memory semantics across multiple processes
- `GitHub link `__
* - ``kokkos-resilience``
- Resilience and Checkpointing Extensions for Kokkos
- `GitHub link `__
Related Work for the C++ standard library
-----------------------------------------
Relevant and related efforts include:
.. list-table::
:widths: 20 45 20 15
:header-rows: 1
:align: left
* - Name
- Info
- Proposal
-
* - ``mdspan``
- Reference implementation of mdspan targeting C++23
- `P0009 `__
- `GitHub link `__
* - ``stdBLAS``
- Reference Implementation for stdBLAS
- `P1673 `__
- `GitHub link `__
Questions?
----------
Find us on Slack: https://kokkosteam.slack.com or
open an issue on `github `_.
Website Content
---------------
.. toctree::
:maxdepth: 1
get-started
programmingguide
api-references
tutorials-and-examples
contributing
GitHub Repo
known-issues
faq
citation
license