petgraph
autograph
petgraph | autograph | |
---|---|---|
7 | 5 | |
2,834 | 312 | |
1.9% | - | |
6.3 | 9.0 | |
24 days ago | 25 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
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.
petgraph
-
Borrow Checking, RC, GC, and the Eleven () Other Memory Safety Approaches
Are you just trying to throw shade on Rust?
https://doc.rust-lang.org/std/collections/struct.LinkedList....
> NOTE: It is almost always better to use Vec or VecDeque because array-based containers are generally faster, more memory efficient, and make better use of CPU cache.
https://docs.rs/petgraph 78 M downloads
-
The Hunt for the Missing Data Type
I used to think that since graphs are such a broad datastructure that can be represented in different ways depending on requirements that it just made more sense to implement them at a domain-ish level.
Then I saw Petgraph [0] which is the first time I had really looked at a generic graph library. It's very interesting, but I still have implemented graphs at a domain level.
[0] https://github.com/petgraph/petgraph
-
Many of the typical "Algorithms" as plain Rust implementation
For graph algorithms specifically, also consider looking at the implementations in petgraph.
-
2-way Weak
Take a look at: https://github.com/petgraph/petgraph
-
autograph v0.1.0
Render the backward "graph" using petgraph for visualization and debugging purposes.
-
Another graph library :)
I second the need for quickcheck-style tests. I implemented a matching algorithm in petgraph, and quickcheck discovered so many bugs on non-trivial graphs. Thanks to it, I am now much more confident that it is indeed correct.
-
Why Rust for Robots?
petgraph: Graph data structure library, compatible with Rust
autograph
-
Where to Learn Vulkan for parallel computation (with references to porting from CUDA)
I'm working on a machine learning library https://github.com/charles-r-earp/autograph implemented in Rust that uses rust-gpu to compile Rust compute shaders to spirv, and then gfx_hal to target metal and dx12. Training performance is currently about 2x slower than pytorch (cuda) on my laptop but I've made significant progress recently and I am targeting 1.5x. While rust-gpu itself has it's own restrictions, it does support inline spirv assembly, which provides direct access to operations not provided in its std lib, thus it's lower level than GLSL. For example, it should be possible to target cuda tensor cores via cooperative matrix operations (I believe Metal supports these as well but this may not be implemented in spirv-cross and certainly isn't in naga). Once I have things a bit more stabilized I'd like to provide more examples, like porting from cuda / opencl, but I'm still figuring out patterns like how to work with 16 and 8 bit types in a nice and portable way.
-
autograph v0.1.0
autograph v0.1.0
-
What's the current state of GPU compute in rust?
Working on autograph, for machine learning and neural networks. Unlike CUDA / HIP it's threadsafe, but doesn't expose low level things like multiple streams. Most of the shaders are glsl but I'm now using rust_gpu for pure rust gpu code.
-
Announcing neuronika 0.1.0, a deep learning framework in Rust
Maybe not for learning but as inspiration I have to plug this amazing effort for ML with (vulkan) shaders: https://github.com/charles-r-earp/autograph
-
What do you think about a library that helps reducing the overhead of GPU programming, regarding ndimensional Arrays?
Maybe you'd be interested in checking out my library, https://github.com/charles-r-earp/autograph?
What are some alternatives?
rosrust - Pure Rust implementation of a ROS client library
neuronika - Tensors and dynamic neural networks in pure Rust.
optimization-engine - Nonconvex embedded optimization: code generation for fast real-time optimization + ROS support
RustaCUDA - Rusty wrapper for the CUDA Driver API
openrr - Open Rust Robotics
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
graph-force - Python library for embedding large graphs in 2D space, using force-directed layouts.
VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal Fast Fourier Transform library
prepona - A graph crate with simplicity in mind
ocl - OpenCL for Rust
nphysics - 2 and 3-dimensional rigid body physics engine for Rust.
juice - The Hacker's Machine Learning Engine