deepdetect
mdspan
Our great sponsors
deepdetect | mdspan | |
---|---|---|
4 | 6 | |
2,495 | 373 | |
0.3% | 4.3% | |
6.7 | 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 |
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.
deepdetect
-
Exploring Open-Source Alternatives to Landing AI for Robust MLOps
For those seeking a lightweight solution for setting up deep learning REST APIs across platforms without the complexity of Kubernetes, Deepdetect is worth considering.
-
[D] Deep Learning Framework for C++.
But you need to have good reasons to do it. Ours is that we have a multi-backend framework, and that we don't want any step in between dev & run. C++ allows for this since the same code can run on training server and edge device as needed. It also allows for building full AI applicatioms with great performances (e g. real time) We dev & use https://github.com/jolibrain/deepdetect for these purposes and it serves us very well, but it's not the faint of heart !
-
[P] Real-time AR for jewelry virtual try on that looks real, done with joliGAN, based on a few 2D videos and no 3D model
- Real-time is achieved through our full C++ Open Source backend DeepDetect, https://github.com/jolibrain/deepdetect. We use CUDA along with OpenCV and TensorRT to chain multiple models (ring detection and generator mostly), and we make sure the data remain within CUDA memory at all time. This allows us to reach ~60 FPS on 1080Ti and 20% more on average on an RTX3090.
-
[P] Benchmarking OpenBLAS on an Apple MacBook M1
Interesting, thanks. Recently benchmarked inference with Vulkan/MoltenVK/NCNN, M1 GPU is roughly 30% faster than M1 CPU, https://github.com/jolibrain/deepdetect/pull/1105 for single batch inference (NCNN does not really support batch size > 1).
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.
What are some alternatives?
ncnn - ncnn is a high-performance neural network inference framework optimized for the mobile platform
stdBLAS - Reference Implementation for stdBLAS
netron - Visualizer for neural network, deep learning and machine learning models
kokkos - Kokkos C++ Performance Portability Programming Ecosystem: The Programming Model - Parallel Execution and Memory Abstraction
tensorflow-wheels - Tensorflow Wheels
circle - The compiler is available for download. Get it!
YoloV7-ncnn-Jetson-Nano - YoloV7 for a Jetson Nano using ncnn.
kokkos-kernels - Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels
mmaction2 - OpenMMLab's Next Generation Video Understanding Toolbox and Benchmark
plf_hive - plf::hive is a fork of plf::colony to match the current C++ standards proposal.
marian - Fast Neural Machine Translation in C++