kokkos-kernels
Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels (by kokkos)
mdspan
Reference implementation of mdspan targeting C++23 (by kokkos)
Our great sponsors
kokkos-kernels | mdspan | |
---|---|---|
1 | 6 | |
276 | 373 | |
3.3% | 4.3% | |
9.1 | 8.7 | |
4 days ago | 12 days ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kokkos-kernels
Posts with mentions or reviews of kokkos-kernels.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-08-09.
-
Is there an OOP-wrapper library for cublas?
It’s a work in progress, but Kokkos and the associated Kokkos Kernels are probably the closest thing to what you’re asking for.
mdspan
Posts with mentions or reviews of mdspan.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-07-27.
-
July 2022 ISO C++ committee virtual meeting report
Why not use https://github.com/kokkos/mdspan though ?
-
C++ for scientific programming?
It can be the base of whatever *you* write via bindings generators like pybind11. In that sense, the answer to your question is "however you like". For actual simulation code, you'll see a lot more legacy Fortran and C. That said, with things like mdspan maybe being standardized (proposal), efforts towards a standard linear algebra library, and the existence of ubiquitous HPC frameworks already having been written in C++, I would say it's only a matter of time before C++ accounts for an even bigger share of all HPC code.
-
[D] Deep Learning Framework for C++.
I'm aware of only two relevant projects myself, I don't know much, came to reddit kind of by chance. One of the multi-dimensional array libraries proposed for potential standardisation, and a gnu machine learning library that was discontinued which could be worked off of. There's probably a lot more out there, but don't get distracted from making something awesome :)
-
Array template implementation
As u/IyeOnline already made the important points about VLAs and std::vector, I would just add that you may find std::mdspan to be a helpful data structure. You can allocate 1d memory and give it a 2d shape of k with nice 2d indexing, eg auto& elem = mymdspan(row, col);.
-
C++23: Near The Finish Line
Kokkos mdspan
-
Is there an OOP-wrapper library for cublas?
The good thing here is that it heavily relies on mdpsan that is a multidimensional view that handle shape and strides. And kokkos provide a C++14 compatible implementation with a complete CUDA support.
What are some alternatives?
When comparing kokkos-kernels and mdspan you can also consider the following projects:
oneMKL - oneAPI Math Kernel Library (oneMKL) Interfaces
stdBLAS - Reference Implementation for stdBLAS