mdspan
flashlight
mdspan | flashlight | |
---|---|---|
6 | 16 | |
384 | 5,178 | |
2.9% | 0.5% | |
8.5 | 7.4 | |
10 days ago | 2 months ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | MIT License |
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.
mdspan
-
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.
flashlight
-
MatX: Efficient C++17 GPU numerical computing library with Python-like syntax
I think a comparison to PyTorch, TensorFlow and/or JAX is more relevant than a comparison to CuPy/NumPy.
And then maybe also a comparison to Flashlight (https://github.com/flashlight/flashlight) or other C/C++ based ML/computing libraries?
Also, there is no mention of it, so I suppose this does not support automatic differentiation?
-
Project Resources
This Facebook ai project seems reasonably structured after looking at its CMakeLists.txt. CMake is a build generator for c++, it's how you make binaries to run your project: https://github.com/flashlight/flashlight
-
Meta AI Open Sources Flashlight: Fast and Flexible Machine Learning Toolkit in C++
Continue reading | Check out the paper and github link
- Flashlight: A C++ standalone library for machine learning
-
[D] Deep Learning Framework for C++.
I built and maintain Flashlight, a C++-first library for ML/DL. We built Flashlight to be:
- [R] C++ for Machine Learning
-
What is the most used library for AI in C++ ?
I’ve never used it, but Facebook’s flashlight looks interesting
-
Python.
Flashlight bro, not flash. Read again
-
Mozilla Common Voice Adds 16 New Languages and 4,600 New Hours of Speech
I've had good results with https://github.com/flashlight/flashlight/blob/master/flashli.... Seems to work well with spoken english in a variety of accents. Biggest limitation is that the architecture they have pretrained models for doesn't really work well with clips longer than ~15 seconds, so you have to segment your input files.
- [D] C++ in Machine Learning.
What are some alternatives?
stdBLAS - Reference Implementation for stdBLAS
TTS - 🐸💬 - a deep learning toolkit for Text-to-Speech, battle-tested in research and production
kokkos - Kokkos C++ Performance Portability Programming Ecosystem: The Programming Model - Parallel Execution and Memory Abstraction
DeepSpeech - DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power GPU servers.
circle - The compiler is available for download. Get it!
PaddleSpeech - Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword Spotting. Won NAACL2022 Best Demo Award.
kokkos-kernels - Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels
STT - 🐸STT - The deep learning toolkit for Speech-to-Text. Training and deploying STT models has never been so easy.
plf_hive - plf::hive is a fork of plf::colony to match the current C++ standards proposal.
NeMo - A scalable generative AI framework built for researchers and developers working on Large Language Models, Multimodal, and Speech AI (Automatic Speech Recognition and Text-to-Speech)
deepdetect - Deep Learning API and Server in C++14 support for Caffe, PyTorch,TensorRT, Dlib, NCNN, Tensorflow, XGBoost and TSNE
DNS-Challenge - This repo contains the scripts, models, and required files for the Deep Noise Suppression (DNS) Challenge.