mdspan
circle
mdspan | circle | |
---|---|---|
6 | 55 | |
375 | 2,189 | |
2.4% | - | |
8.5 | 5.0 | |
3 days ago | 6 months ago | |
C++ | C++ | |
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.
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.
circle
- Rusty.hpp: A Borrow Checker and Memory Ownership System for C++20
-
How difficult would it be to make a c++ compiler
Sean Baxter created a front end c++ compiler by himself, using llvm for the back end and the gcc or clang stl. I think it took him a couple of years. https://www.circle-lang.org/. Before this happened I heard a couple of different people claiming that there would never be a totally new compiler as it was too much work.
-
Toward a TypeScript for C++"
The real Typescript for C++ is Circle.
https://www.circle-lang.org/
Just like Typescript to JavaScript, the syntax is an evolution of what already exists, not a completely different syntax.
-
A Metaobject Protocol for C++ [pdf]
Sean Baxter's Circle [1] is arguably the spiritual successor to MOP.
[1] https://www.circle-lang.org/
-
Circle Evolves C++ [video]
Context: https://github.com/seanbaxter/circle/blob/master/new-circle/...
Note that Circle is not an F/OSS compiler as someone pointed out before. This however doesn't make Circle less relevant, because it is actually a testament to show that C++ could have been much better without the claimed breakage. If Circle does provide a number of desirable features and its compiler can be built by a single person, then why shouldn't the committee do the same?
-
My (Herb Sutter's) C++ Now 2023 talk is online: “A TypeScript for C++”
From all wannabe C++ replacements candidates, the only language that is really a TypeScript for C++, is Circle.
For whatever reason, Herb Sutter decided to ignore this language on the presentation.
https://www.circle-lang.org/
This is the only one with the syntax based on C++, incrementally changing the features via #pragma settings.
"Circle Fixes Defects, Makes C++ Language Safer & More Productive"
https://www.youtube.com/watch?v=x7fxeNqSK2k
"Circle Evolves C++"
https://www.youtube.com/watch?v=P1ZDOGDMNLM
- File for Divorce from LLVM
-
Making C++ Safe Without Borrow Checking, Reference Counting, or Tracing GC
The second someone makes a successor language that seamlessly/directly interops with C++ _AND_ has the level of build/IDE tooling that C++/Rust have, I'm on board.
The closest thing right now is Sean Baxter's "Circle" compiler in "Carbon" mode IMO:
https://github.com/seanbaxter/circle/blob/master/new-circle/...
Unfortunately, Circle is closed-source and there's no LSP or other tooling to make the authoring experience nice.
- Circle-lang: A feasible, simple, and immediate way for C++ to break out of the rut it's been in. Surprised more people aren't talking about it.
-
Recurrence-expression is a programmable superset of fold-expression
I read through the whole of https://github.com/seanbaxter/circle/blob/master/new-circle/README.md and man, I'm drooling. Awesome work, kudos.
What are some alternatives?
stdBLAS - Reference Implementation for stdBLAS
raspberry-pi-os - Learning operating system development using Linux kernel and Raspberry Pi
kokkos - Kokkos C++ Performance Portability Programming Ecosystem: The Programming Model - Parallel Execution and Memory Abstraction
dts2hx - Converts TypeScript definition files (d.ts) to haxe externs (.hx) via the TypeScript compiler API
kokkos-kernels - Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels
papers - ISO/IEC JTC1 SC22 WG21 paper scheduling and management
plf_hive - plf::hive is a fork of plf::colony to match the current C++ standards proposal.
CppCoreGuidelines - The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
deepdetect - Deep Learning API and Server in C++14 support for Caffe, PyTorch,TensorRT, Dlib, NCNN, Tensorflow, XGBoost and TSNE
meta
marian - Fast Neural Machine Translation in C++
hypervisor - lightweight hypervisor SDK written in C++ with support for Windows, Linux and UEFI