Giter Site home page Giter Site logo

kokkos.github.io's Introduction

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.

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.3.01.

curl -OJ -L https://github.com/kokkos/kokkos/archive/refs/tags/4.3.01.tar.gz
# Or with wget
wget https://github.com/kokkos/kokkos/archive/refs/tags/4.3.01.tar.gz

To clone the latest development version of Kokkos from GitHub:

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.

kokkos.github.io's People

Contributors

ajpowelsnl avatar antoinemeyer5 avatar crtrott avatar dalg24 avatar fnrizzi avatar foertter avatar jbigot avatar jbludau avatar jewatkins avatar lucbv avatar masterleinad avatar nliber avatar nmm0 avatar searhein avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kokkos.github.io's Issues

Kokkos Kernels - Overview

Authors: @kokkos/kokkoskernels
Presenter: @lucbv

Abstract:
KokkosKernels provides math kernels for dense and sparse linear algebra as well as graph computations. It has multiple aims:

  • Provide a portable Kokkos bases interface to BLAS, Sparse and Graph kernels for all major HPC platforms.
  • Provide generic implementations of Kernels working with various scalar types and data layouts, going beyond standard types supported by vendor libraries.
  • Provide access to major vendor optimized math libraries.
  • Provide improved performance for kernels where vendor libraries were historically lacking.

An overview of the library capabilities as well as the latest developments will be presented in this talk.

Kokkos support in the TAU and APEX performance measurement tools

TAU is a full-featured profiler/tracer that provides support for most parallel programming models and platforms, with Kokkos support enabled by default. APEX is a measurement library designed for asynchronous tasking runtimes that provides support for Kokkos and all available back ends, including HPX, and also provides auto-tuning support for Kokkos Team and MDRange execution policies.

CExA project: GPU computing at CEA with Kokkos

The CExA project has been launched by the CEA to
fund a 10 people team to contribute to the Kokkos library and its ecosystem,
to onboard codes developed at CEA, and to offer support, training and
contribute do dissemination inside CEA, in France, Europe and beyond. This
talk will briefly present the project and the first application demonstrators
that have been selected.

DDC, a performance portable library abstracting Computation on Discrete Domains

The Discrete Domain Computation library is a modern C++ library that aims to offer to the C++/MPI world an equivalent to the xarray.DataArray/dask.Array python environment. Based on Kokkos, DDC supports zero-overhead dimension labelling for multi-dimensional arrays and performance-portable multi-dimensional algorithms.

MEUMAPPS C++: An Open-Source Framework for Phase-Field Modeling

I will give an overview of MEUMAPPS C++, an open-source framework for solving PDEs using the Fourier pseudospectral method that combines Kokkos with heFFTe (performance portable FFTs) and Sundials (performance portable time integration). I'll discuss strategies for interfacing Kokkos with these libraries as well as performance results on OLCF's Summit and Frontier systems. Finally, I will provide a brief overview of the new use of Kokkos in the deal.II finite element library in the context of adamantine, an open-source thermomechanics code for additive manufacturing.

Profiling the performance of Albany Land-Ice on Perlmutter and Frontier

Albany Land-Ice is an ice sheet model for Earth system modelling that utilizes Kokkos and performance portable Trilinos packages to enable ice sheet simulation on GPU hardware. As part of our ongoing work to achieve high performance on the variety of GPU architectures currently available, we will present our preliminary performance profiling of Albany Land-Ice on Perlmutter and Frontier. Additionally, we will discuss some of the ongoing challenges with achieving optimal performance of Albany Land-Ice on GPUs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.