Kokkos: The Programming Model#
C++ Performance Portability Programming Model
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:
Name |
Info |
|
---|---|---|
|
(this library) Programming Model - Parallel Execution and Memory Abstraction |
|
|
Sparse, dense, batched math kernels |
|
|
Profiling and debugging tools |
|
|
Provides Python bindings to the Kokkos performance portable parallel programming. |
|
|
Shared memory semantics across multiple processes |
|
|
Resilience and Checkpointing Extensions for Kokkos |
Questions?#
Find us on Slack: https://kokkosteam.slack.com or open an issue on github.
Website Content#
- Quick Start
- Programming Guide
- Requirements
- Build, Install and Use
- CMake Keywords
- API: Core
- API: Containers
- API: Algorithms
- API: SIMD
- API in Alphabetical Order
- Deprecation for Kokkos-3.x
- Known issues
- Use Cases and Examples
- Kokkos Planning and Testing
- Tutorials
- Video lectures and slides
- GitHub Repo
- Contributing
- FAQ
- Citing Kokkos
- License