cudarc
dfdx
cudarc | dfdx | |
---|---|---|
4 | 22 | |
451 | 1,656 | |
- | - | |
7.9 | 8.7 | |
9 days ago | 4 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.
cudarc
-
Rust Bindgen Issue (Struct _)
Instead I'm trying to follow along with the structure of cudarc (https://github.com/coreylowman/cudarc) which has done bindings for other Nvidia libraries. Their methodology seems much more straight forward.
-
What's everyone working on this week (20/2023)?
Spooky unsafe CUDA GPGPU in pure Rust with experimental ptx ABI! I'd like to smooth it out with some safer abstractions to avoid too many raw unsafe kernel launches launches. I'm not exactly sure how many threads I can get, but seems like it's handling 16384 pretty well?
- Which crate for CUDA in Rust?
-
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.
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?
tiny-ml - Basic neural networks for rust
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]
RustNet - A rust API (and solid.js frontend) for a neural net
burn - Burn is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency and portability as its primary goals.
vault-server - Rust REST API server and white-label SolidJS UIs for semantic search and RAG/no-hallucination LLM-chat [Moved to: https://github.com/arguflow/arguflow]
DiffSharp - DiffSharp: Differentiable Functional Programming
krust-manifesto - Abstractions to write concise Kubernetes manifests using Rust
executorch - On-device AI across mobile, embedded and edge for PyTorch
duchess - Silky smooth Java-Rust interop
rust - Empowering everyone to build reliable and efficient software.
intelli-shell - Like IntelliSense, but for shells
triton - Development repository for the Triton language and compiler