riichi-hand-rs
Rust-CUDA
Our great sponsors
riichi-hand-rs | Rust-CUDA | |
---|---|---|
1 | 29 | |
2 | 2,129 | |
- | 4.3% | |
3.9 | 6.4 | |
28 days ago | about 1 month ago | |
Rust | Rust | |
MIT License | 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.
riichi-hand-rs
-
What's everyone working on this week (4/2022)?
Other than that, I've published my very first Rust library riichi-hand-rs (I'm happy to get any feedback for it!). It's a library used in another my project, chombot, and it's core feature is parsing Japanese Mahjong hands in a human-readable format, verifying, and rendering them. I decided to split this part into a library in order to improve the overall quality of the code, and hopefully have some more motivation to add some more features into it, that will not necessarily make it into the main app. Actually, chombot has had been implemented in Kotlin before - it was last week that I've decided to rewrite it in Rust and it's been loads of fun!
Rust-CUDA
-
GNU Octave
Given your criteria, you might want to consider (modern) C++.
* Fast - in many cases faster than Rust, although the difference is inconsequential relative to Python-to-Rust improvement I guess.
* _Really_ utilize CUDA, OpenCL, Vulcan etc. Specifically, Rust GPU is limited in its supported features, see: https://github.com/Rust-GPU/Rust-CUDA/blob/master/guide/src/... ...
* Host-side use of CUDA is at least as nice, and probably nicer, than what you'll get with Rust. That is, provided you use my own Modern C++ wrappers for the CUDA APIs: https://github.com/eyalroz/cuda-api-wrappers/ :-) ... sorry for the shameless self-plug.
* ... which brings me to another point: Richer offering of libraries for various needs than Rust, for you to possibly utilize.
* Easier to share than Rust. A target system is less likely to have an appropriate version of Rust and the surrounding ecosystem.
There are downsides, of course, but I was just applying your criteria.
-
Your average rustafarians
Technically, yes. There are crates for OpenCL and CUDA, although official ROCm support does not exist yet.
-
My negative views on Rust
Also you might not be aware but you can write cuda in rust now also https://github.com/Rust-GPU/Rust-CUDA
-
Non graphical computing on GPU
On the other hand CUDA is optimized to death and very good. Documentation and codes examples are everywhere (in C++ at least) but it is one more piece of software to install/configure and interact with from Rust. I don't know if Rust-CUDA is good or not. It's a WIP but the development seems stalled at this point (no commit since July)
Rust CUDA
-
Brute forcing protected ZIP archives in Rust
With Rust-CUDA you can write Rust code to run on the GPU quite easily, long as the code is no_std (and you have a NVIDIA GPU).
-
Can Rust do Computer Graphics and ML?
There’s also https://github.com/Rust-GPU/Rust-CUDA
- There is framework for everything.
-
C++ is making me depressed / CUDA question
And here's an example on how to add two floats using Rust-CUDA: https://github.com/Rust-GPU/Rust-CUDA/blob/master/examples/cuda/gpu/add_gpu/src/lib.rs
I can't say whether or not it works well, and seems maybe fiddly to install, but Rust-CUDA might work for you.
What are some alternatives?
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
rust-ndarray - ndarray: an N-dimensional array with array views, multidimensional slicing, and efficient operations
wgpu - Safe and portable GPU abstraction in Rust, implementing WebGPU API.
CUDA.jl - CUDA programming in Julia.
GLSL - GLSL Shading Language Issue Tracker
Enzyme - High-performance automatic differentiation of LLVM and MLIR.
vk-bootstrap - Vulkan Bootstrapping Iibrary
Seed - A Rust framework for creating web apps
ReShell - A modern shell language built for the future :rocket:
nalgebra - Linear algebra library for Rust.
yabridge - A modern and transparent way to use Windows VST2, VST3 and CLAP plugins on Linux
gpgpu-rs - Simple experimental async GPGPU framework for Rust