SaaSHub helps you find the best software and product alternatives Learn more →
Top 5 Rust rust-sci Projects
-
rust-ndarray
ndarray: an N-dimensional array with array views, multidimensional slicing, and efficient operations
-
hora
🚀 efficient approximate nearest neighbor search algorithm collections library written in Rust 🦀 .
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
matrixmultiply
General matrix multiplication of f32 and f64 matrices in Rust. Supports matrices with general strides.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
I would love some examples of how to do non-trivial data interop between Rust and Python. My experience is that PyO3/Maturin is excellent when converting between simple datatypes but conversions get difficult when there are non-standard types, e.g. Python Numpy arrays or Rust ndarrays or whatever other custom thing.
Polars seems to have a good model where it uses the Arrow in memory format, which has implementations in Python and Rust, and makes a lot of the ndarray stuff easier. However, if the Rust libraries are not written with Arrow first, they become quite hard to work with. For example, there are many libraries written with https://github.com/rust-ndarray/ndarray, which is challenging to interop with Numpy.
(I am not an expert at all, please correct me if my characterizations are wrong!)
Project mention: Building a Vector Database with Rust to Make Use of Vector Embeddings | /r/rust | 2023-06-01We have been playing around with Hora as a replacement for the Rust-CV implementation as we want PQ as well. I'll check out instanct-distance, looks very interesting!
Project mention: Help understanding the state of ndarrays and linalg in Rust. | /r/rust | 2023-07-09The matrixmultiply crate from the ndarray author (https://github.com/bluss/matrixmultiply) is one such implementation. It uses the same algorithm as the BLIS project (https://www.cs.utexas.edu/users/flame/pubs/TOMS-BLIS-Analytical.pdf) to partition the problem and exploit the cache hierarchy. It isn't as well tuned as eg. Intel MKL or BLIS, but the results are very respectable.
Rust rust-sci related posts
-
Help understanding the state of ndarrays and linalg in Rust.
-
Helper crate for working with image data of varying type?
-
What is the most efficient way to study Rust for scientific computing applications?
-
faer 0.8.0 release
-
Status and Future of ndarray?
-
How does explicit unrolling differ from iterating through elements one-by-one? (ndarray example)
-
Any efficient way of splitting vector?
-
A note from our sponsor - SaaSHub
www.saashub.com | 1 May 2024
Index
What are some of the best open-source rust-sci projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | rust-ndarray | 3,319 |
2 | hora | 2,558 |
3 | neuronika | 1,033 |
4 | matrixmultiply | 202 |
5 | serde-ndim | 6 |
Sponsored