kokkos VS mdspan

Compare kokkos vs mdspan and see what are their differences.

kokkos

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

mdspan

Reference implementation of mdspan targeting C++23 (by kokkos)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
kokkos mdspan
4 6
1,723 373
3.0% 4.3%
9.8 8.7
about 19 hours 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.

kokkos

Posts with mentions or reviews of kokkos. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-06.

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
    1 project | /r/cpp | 30 Jul 2022
    Why not use https://github.com/kokkos/mdspan though ?
  • C++ for scientific programming?
    6 projects | /r/cpp | 27 Jul 2022
    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++.
    7 projects | /r/MachineLearning | 12 Jun 2022
    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
    1 project | /r/cpp_questions | 7 Mar 2022
    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
    11 projects | /r/cpp | 15 Nov 2021
    Kokkos mdspan
  • Is there an OOP-wrapper library for cublas?
    5 projects | /r/CUDA | 9 Aug 2021
    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 and mdspan you can also consider the following projects:

RAJA - RAJA Performance Portability Layer (C++)

stdBLAS - Reference Implementation for stdBLAS

pykokkos - Performance portable parallel programming in Python.

circle - The compiler is available for download. Get it!

Taskflow - A General-purpose Parallel and Heterogeneous Task Programming System

kokkos-kernels - Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels

kokkos-python - Python bindings for data interoperability with Kokkos (View, DynRankView)

plf_hive - plf::hive is a fork of plf::colony to match the current C++ standards proposal.

deepdetect - Deep Learning API and Server in C++14 support for Caffe, PyTorch,TensorRT, Dlib, NCNN, Tensorflow, XGBoost and TSNE

parallel-kd-tree - Parallel k-d tree with C++17, MPI and OpenMP

marian - Fast Neural Machine Translation in C++