• Stars
    star
    1,654
  • Rank 27,120 (Top 0.6 %)
  • Language
    C++
  • License
    Other
  • Created about 9 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Kokkos C++ Performance Portability Programming Ecosystem: The Programming Model - Parallel Execution and Memory Abstraction

Kokkos

Kokkos: Core Libraries

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 the Kokkos C++ Performance Portability Programming EcoSystem.

For the complete documentation, click below:

Learning about Kokkos

To start learning about Kokkos:

  • Kokkos Lectures: they contain a mix of lecture videos and hands-on exercises covering all the important Kokkos Ecosystem 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, algorithms and containers or, if you prefer, in alphabetical order.

  • Use cases and Examples: a series of examples ranging from how to use Kokkos with MPI to Fortran interoperability.

For questions find us on Slack: https://kokkosteam.slack.com or open a GitHub issue.

For non-public questions send an email to: crtrott(at)sandia.gov

Contributing to Kokkos

Please see this page for details on how to contribute.

Requirements, Building and Installing

All requirements including minimum and primary tested compiler versions can be found here.

Building and installation instructions are described here.

Citing Kokkos

Please see the following page.

License

License

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 available here or here.

More Repositories

1

mdspan

Reference implementation of mdspan targeting C++23
C++
295
star
2

kokkos-kernels

Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels
C++
266
star
3

kokkos-tutorials

Tutorials for the Kokkos C++ Performance Portability Programming EcoSystem
C++
240
star
4

stdBLAS

Reference Implementation for stdBLAS
C++
101
star
5

kokkos-tools

Kokkos C++ Performance Portability Programming EcoSystem: Profiling and Debugging Tools
C++
71
star
6

pykokkos

Provides Kokkos performance portable parallel programming in Python.
Python
65
star
7

kokkos-remote-spaces

This repository contains Kokkos Remote Spaces, which implements distributed shared memory support for Kokkos.
C++
36
star
8

array_ref

Polymorphic multidimensional array view
C++
35
star
9

pykokkos-base

Python bindings for data interoperability with Kokkos (View, DynRankView)
C++
24
star
10

kokkos-fortran-interop

The Kokkos Fortran Interop repository contains tools and interfaces which help interactions between Fortran portions of an applications and C++ portions using Kokkos.
Fortran
21
star
11

simd-math

Library for length agnostic SIMD intrinsic support and the corresponding math operations
C++
19
star
12

kokkos-fft

A shared-memory FFT for the Kokkos ecosystem
C++
14
star
13

mdarray

C++
10
star
14

kokkos-miniapps

Mini-applications that exclusively use the Kokkos programming model
C++
10
star
15

ISO-CPP-Papers

HTML
8
star
16

nvcc_wrapper

Wrapper shell script for NVIDIA nvcc to better conform to host compiler command line arguments
Shell
7
star
17

kokkos-comm

Unofficial MPI Wrapper for Kokkos
C++
7
star
18

hpcbind

Binding utilities used for MPI, OpenMP and GPUs
Shell
6
star
19

kokkos-resilience

Resilience Extensions for Kokkos
C++
4
star
20

kokkos-benchmark-results

3
star
21

kokkos.github.io

Documentation Repo
HTML
1
star
22

kokkos-core-wiki

1
star
23

kokkos-openmptarget-examples

This is a repository for sharing OpenMP 5 target usage examples and reproducers
C++
1
star