rtic
dfdx
rtic | dfdx | |
---|---|---|
14 | 22 | |
1,626 | 1,611 | |
2.0% | - | |
8.7 | 8.7 | |
4 days ago | 2 months ago | |
Rust | Rust | |
Apache License 2.0 | 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.
rtic
-
Is rust used for microchip coding?
There's also RTIC which is another framework that makes concurrency trivial.
- Would generators be useful for embedded?
-
RTIC (The hardware accelerated Rust RTOS) releases v2.0.0!
Github here: https://github.com/rtic-rs/rtic
-
Are there universities that teach Rust?
At Telecom Paris, one of the top engineering schools in France, we teach Rust to undergraduate and graduate students who specialize in Embedded Systems. They get to use Rust and RTIC on STM32 based boards, and they also use Embassy for some projects.
-
When is the right time to change jobs?
If you want something more cutting edge. Try embedded Rust and checkout RTIC. I don't know if it's the real next thing. But i guess it could be fun to try.
-
In which circumstances is C++ better than Rust?
RTIC is still going strong, they are working on a 2.0 release at the moment :). There's also now embassy which provides an async runtime (and a ton of other nice things) for embedded as well :)
-
eskarp: Custom design using ergogen, 3D printed case, RP2040 with Rust firmware
RTIC - RTOS and task scheduling
-
My negative views on Rust
That's completely incorrect. The existing ecosystem focuses on web/IO because that's were Async/Await is already being used in other languages so everyone started there. There is significant interest in writing frameworks using async rust in embedded, but the required compiler features for it are still not stable. Check out embassy. Even RTIC has experiments with async.
-
Question: Elegant way of getting a 'static reference?
But neither of them might be usable in you case. Since it looks like you're running bare-metal, a framework like RTIC can give you a initialization function and then pass "static" data to a struct that is shared between all tasks.
-
Is crate Drone already dead? Are there any alternatives? rtfm?
FYI, RTFM has been renamed to RTIC
dfdx
- Shape Typing in Python
-
Candle: Torch Replacement in Rust
I keep checking the progress on dfdx for this reason. It does what I (and, I assume from context, you) want: Provides static checking of tensor shapes. Which is fantastic. Not quite as much inference as I'd like but I love getting compile-time errors that I forgot to transpose before a matmul.
It depends on the generic_const_exprs feature which is still, to quote, "highly experimental":
https://github.com/rust-lang/rust/issues/76560
Definitely not for production use, but it gives a flavor for where things can head in the medium term, and it's .. it's nice. You could imagine future type support allowing even more inference for some intermediate shapes, of course, but even what it has now is really nice. Like this cute little convnet example:
https://github.com/coreylowman/dfdx/blob/main/examples/night...
- Dfdx: Shape Checked Deep Learning in Rust
- Are there some machine or deep learning crates on Rust?
-
[Discussion] What crates would you like to see?
And for transformers, it's really early days for dfdx, but it's a library that aims to sit basically at the Pytorch level of abstraction, that the difference is it's not just coded in Rust, but it follows the Rust-y/functional-y philosophy of "if it compiles it runs".
-
rapl: Rank Polymorphic array library for Rust.
Wow that is super interesting. I actually tried to use GATs at first to be generic over shapes, but I couldn't do it, I'm sure it would be possible in the future though. There is this library dfdx that does something similar to what you mentioned, but it feels a little clumsy to me.
-
Announcing cudarc and fully GPU accelerated dfdx: ergonomic deep learning ENTIRELY in rust, now with CUDA support and tensors with mixed compile and runtime dimensions!
Awesome, I added an issue here https://github.com/coreylowman/dfdx/issues/597. We can discuss more there! The first step will just be adding the device and implementing tensor creation methods for it.
-
In which circumstances is C++ better than Rust?
The next release of dfdx includes a CUDA device and implements many ops. The same dev created a new crate, cudarc, for a wrapper around CUDA toolkit.
- This year I tried solving AoC using Rust, here are my impressions coming from Python!
-
Deep Learning in Rust: Burn 0.4.0 released and plans for 2023
A question I have is: what are the philosophical/design differences with dfdx? As someone who's played around with dfdx and only skimmed the README of burn, it seems like dfdx leans into Rust's type system/type inference for compile time checking of as much as is possible to check at compile time. I wonder if you've gotten a chance to look at dfdx and would like to outline what you think the differences are. Thanks!
What are some alternatives?
embassy - Modern embedded framework, using Rust and async.
burn - Burn is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency and portability as its primary goals. [Moved to: https://github.com/Tracel-AI/burn]
tock - A secure embedded operating system for microcontrollers
burn - Burn is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency and portability as its primary goals.
avr-hal - embedded-hal abstractions for AVR microcontrollers
DiffSharp - DiffSharp: Differentiable Functional Programming
cortex-m-quickstart - Template to develop bare metal applications for Cortex-M microcontrollers
executorch - On-device AI across mobile, embedded and edge for PyTorch
cortex-m - Low level access to Cortex-M processors
rust - Empowering everyone to build reliable and efficient software.
nettu-scheduler - A self-hosted calendar and scheduler server.
triton - Development repository for the Triton language and compiler