-
Notifications
You must be signed in to change notification settings - Fork 98
Home
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.
KokkosKernels is also part of Trilinos, which comes with the latest release (current master branch of KokkosKernels).
This Wiki documents the available functionality, how to integrate KokkosKernels into your project, and some performance results on some of the major HPC platforms.
Note: The Wiki is a work in progress.
Some of the content is not yet available (red links).
This section explains how to compile and install KokkosKernels, and possible ways of integrating it into your project.
This is the place to go for a fast lookup of syntax. Developers who are familiar with common math libraries such as BLAS, MKL or CuBLAS / CuSparse will find all they need to start using KokkosKernels
Find benchmarks of a range of capabilities from KokkosKernels, including comparison to canonical math libraries on various hardware platforms.
The KokkosKernels library is not the only resource available. In addition to the Kokkos Programming model there are a number of auxiliary projects which could be useful to developers.
Kokkos - the Core library implements a programming model in C++ for writing performance portable applications targeting all major HPC platforms.
Kokkos Tools provide profiling and debugging capabilities which access built-in instrumentation of Kokkos. They make it significantly easier to understand what is going on in a large Kokkos application and thus help you to find errors and performance issues.
This project has extensive Tutorials for Kokkos including hands-on exercises. New Kokkos developers, even with little to no previous parallel programming experience will be taken through the basics of using Kokkos to parallelize applications. There is also a tutorial available for learning the basics of profiling.
KokkosKernels is licensed under standard 3-clause BSD terms of use. For specifics, please refer to the LICENSE file contained in the repository or distribution.
See instructions on the Compiling page.
See instructions on the test_all_sandia script page.
See instruction on the Pull request instructions page.
SAND Number SAND2019-9491 W SAND Number SAND2019-3387 W