kokkos

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

https://github.com/kokkos/kokkos

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    37 of 211 committers (17.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.6%) to scientific vocabulary

Keywords

abstraction c-plus-plus high-performance-computing hpsf kokkos parallel-computing programming-model

Keywords from Contributors

radiuss build-tool spack parallelism distributed mpi mesh finite-elements molecular-dynamics lammps
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: kokkos
  • License: other
  • Language: C++
  • Default Branch: develop
  • Homepage: https://kokkos.org
  • Size: 36.3 MB
Statistics
  • Stars: 2,305
  • Watchers: 85
  • Forks: 467
  • Open Issues: 578
  • Releases: 30
Topics
abstraction c-plus-plus high-performance-computing hpsf kokkos parallel-computing programming-model
Created almost 11 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation Security Copyright

README.md

Kokkos

OpenSSF Best Practices

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.

Kokkos is a Linux Foundation project.

Learning about Kokkos

To start learning about Kokkos:

Obtaining Kokkos

The latest release of Kokkos can be obtained from the GitHub releases page.

The current release is 4.7.00.

```bash curl -OJ -L https://github.com/kokkos/kokkos/releases/download/4.7.00/kokkos-4.7.00.tar.gz

Or with wget

wget https://github.com/kokkos/kokkos/releases/download/4.7.00/kokkos-4.7.00.tar.gz ```

To clone the latest development version of Kokkos from GitHub:

bash git clone -b develop https://github.com/kokkos/kokkos.git

Building Kokkos

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 found here.

Building and installation instructions are described here.

You can also install Kokkos using Spack: spack install kokkos. Available configuration options can be displayed using spack info kokkos.

For the complete documentation: kokkos.org/kokkos-core-wiki/

Support

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

Please see this page for details on how to contribute.

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.

Owner

  • Name: Kokkos
  • Login: kokkos
  • Kind: organization
  • Email: crtrott@sandia.gov

Kokkos C++ Performance Portability Programming Ecosystem

Citation (CITATION.cff)

cff-version: 1.2.0
title: Kokkos
message: >-
  If you use this software, please cite the overview paper
type: software
authors:
  - name: The Kokkos authors
    website: https://kokkos.org/community/team/
identifiers:
  - type: url
    website: https://kokkos.org/kokkos-core-wiki/citation.html
repository-code: 'https://github.com/kokkos/kokkos'
url: 'https://kokkos.org/'
license: Apache-2.0
preferred-citation:
  type: article
  authors:
  - given-names: Christian R.
    family-names: Trott
  - given-names: Damien
    family-names: Lebrun-Grandié
  - given-names: Daniel
    family-names: Arndt
  - family-names: Ciesko
    given-names: Jan
  - given-names: Vinh
    family-names: Dang
  - family-names: Ellingwood
    given-names: Nathan
  - given-names: Rahulkumar
    family-names: Gayatri
  - given-names: Evan
    family-names: Harvey
  - given-names: Daisy S.
    family-names: Hollman
  - given-names: Dan
    family-names: Ibanez
  - given-names: Nevin
    family-names: Liber
  - given-names: Jonathan
    family-names: Madsen
  - given-names: Jeff
    family-names: Miles
  - given-names: David
    family-names: Poliakoff
  - given-names: Amy
    family-names: Powell
  - given-names: Sivasankaran
    family-names: Rajamanickam
  - given-names: Mikael
    family-names: Simberg
  - given-names: Dan
    family-names: Sunderland
  - given-names: Bruno
    family-names: Turcksin
  - given-names: Jeremiah
    family-names: Wilke
  doi: 10.1109/TPDS.2021.3097283
  journal: IEEE Transactions on Parallel and Distributed Systems
  start: 805
  end: 817
  title: "Kokkos 3: Programming Model Extensions for the Exascale Era"
  volume: 33
  issue: 4
  year: 2022

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 10,722
  • Total Committers: 211
  • Avg Commits per committer: 50.815
  • Development Distribution Score (DDS): 0.83
Past Year
  • Commits: 879
  • Committers: 49
  • Avg Commits per committer: 17.939
  • Development Distribution Score (DDS): 0.776
Top Committers
Name Email Commits
Daniel Arndt a****d@o****v 1,824
Damien L-G d****4@g****m 1,777
crtrott c****t@s****v 1,621
Dan Ibanez d****e@s****v 474
Nathan Ellingwood n****n@s****v 452
David Poliakoff d****f@g****m 393
David Hollman d****m@s****v 347
Carter Edwards h****r@s****v 336
Bruno Turcksin b****n@g****m 306
Mikael Simberg s****g@c****h 233
Francesco Rizzi f****i@s****v 224
Cezary Skrzyński c****i@n****m 160
rgayatri r****i@l****v 148
Phil Miller p****e@s****v 110
Dan Sunderland d****r@s****v 106
Dong Hun Lee d****e@s****v 105
Nicolas Morales n****l@s****v 104
Evan Harvey e****y@s****v 104
jjwilke j****e@s****v 81
jeffmiles63 j****s@a****v 77
Vinh Dang v****g@s****v 76
Si Hammond s****o@s****v 67
dependabot[bot] 4****] 65
Steve Bova s****a@s****v 64
JBludau j****u@t****e 63
Greg Mackey g****e@s****v 59
James Foucar j****a@s****v 55
Nevin Liber n****r@a****v 55
Christoph Junghans j****s@l****v 51
Nick Curtis n****s@a****m 50
and 181 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 582
  • Total pull requests: 2,091
  • Average time to close issues: 7 months
  • Average time to close pull requests: 29 days
  • Total issue authors: 177
  • Total pull request authors: 93
  • Average comments per issue: 3.68
  • Average comments per pull request: 2.95
  • Merged pull requests: 1,460
  • Bot issues: 2
  • Bot pull requests: 103
Past Year
  • Issues: 194
  • Pull requests: 1,175
  • Average time to close issues: 13 days
  • Average time to close pull requests: 6 days
  • Issue authors: 68
  • Pull request authors: 51
  • Average comments per issue: 1.51
  • Average comments per pull request: 2.39
  • Merged pull requests: 814
  • Bot issues: 1
  • Bot pull requests: 90
Top Authors
Issue Authors
  • ndellingwood (86)
  • masterleinad (40)
  • dalg24 (35)
  • crtrott (28)
  • romintomasetti (24)
  • nmm0 (17)
  • JBludau (16)
  • PhilMiller (14)
  • fnrizzi (11)
  • brian-kelley (10)
  • maartenarnst (9)
  • ajpowelsnl (8)
  • aprokop (8)
  • pzehner (7)
  • Rombur (7)
Pull Request Authors
  • masterleinad (477)
  • dalg24 (387)
  • Rombur (125)
  • crtrott (114)
  • dependabot[bot] (103)
  • ndellingwood (102)
  • romintomasetti (84)
  • ldh4 (63)
  • fnrizzi (62)
  • JBludau (55)
  • tcclevenger (40)
  • pzehner (39)
  • rgayatri23 (34)
  • nmm0 (32)
  • nliber (29)
Top Labels
Issue Labels
Bug (107) Failure - Nightly (78) Question (60) Enhancement (49) Backend - CUDA (45) InDevelop (37) Backend - HIP (32) Failure - Trilinos (28) Compiler Issue (27) Feature Request (25) Kokkos-Core (24) Backend - SYCL (16) Documentation (15) Performance (15) CMake (12) Refactor (12) Blocks Promotion (12) Backend - OpenMPTarget (9) Backend - OpenMP (6) Kokkos-Algorithms (5) Upcoming Vote (4) Deprecate (4) C++17 (4) C++20 (3) Backend - HPX (2) Spack (2) dependencies (2) Continuous Integration (2) Tutorials (2) CHANGELOG (1)
Pull Request Labels
SNL-CI-APPROVAL (170) dependencies (105) Refactor (100) Bug (86) Backend - CUDA (70) SNL-AT2-SPECIAL-APPROVAL (50) Backend - HIP (45) github_actions (40) CMake (37) Kokkos-Core (33) Deprecate (30) Continuous Integration (23) Blocks Promotion (23) Backend - SYCL (21) Backend - OpenMPTarget (20) Enhancement (18) Failure - Nightly (13) Patch Release (13) Kokkos-Algorithms (9) CHANGELOG (9) Performance (8) Kokkos-Containers (7) Backend - OpenMP (6) Documentation (6) C++20 (6) Feature Request (5) Failure - Trilinos (5) Compiler Issue (4) InDevelop (1) Tutorials (1)

Dependencies

.github/workflows/continuous-integration-workflow-hpx.yml actions
  • actions/cache v2 composite
  • actions/checkout v2.2.0 composite
.github/workflows/continuous-integration-workflow.yml actions
  • actions/cache v2 composite
  • actions/checkout v2.2.0 composite
.github/workflows/osx.yml actions
  • actions/checkout v2 composite
.github/workflows/continuous-integration-workflow-32bit.yml actions
  • actions/checkout v3 composite
.github/workflows/performance-benchmark.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • dmnemec/copy_file_to_another_repo_action main composite