Rust Scientific Computing

Open-source Rust projects categorized as Scientific Computing

Top 11 Rust Scientific Computing Projects

  • burn

    Burn is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency and portability as its primary goals.

  • Project mention: 3 years of fulltime Rust game development, and why we're leaving Rust behind | news.ycombinator.com | 2024-04-26

    You can use libtorch directly via `tch-rs`, and at present I'm porting over to Burn (see https://burn.dev) which appears incredibly promising. My impression is it's in a good place, if of course not close to the ecosystem of Python/C++. At very least I've gotten my nn models training and running without too much difficulty. (I'm moving to Burn for the thread safety - their `Tensor` impl is `Sync` - libtorch doesn't have such a guarantee.)

    Burn has Candle as one of its backends, which I understand is also quite popular.

  • linfa

    A Rust machine learning framework.

  • 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.

    InfluxDB logo
  • rust-ndarray

    ndarray: an N-dimensional array with array views, multidimensional slicing, and efficient operations

  • Project mention: Some Reasons to Avoid Cython | news.ycombinator.com | 2023-09-22

    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!)

  • shadow

    Shadow is a discrete-event network simulator that directly executes real application code, enabling you to simulate distributed systems with thousands of network-connected processes in realistic and scalable private network experiments using your laptop, desktop, or server running Linux. (by shadow)

  • Project mention: Turmoil, a framework for developing and testing distributed systems | news.ycombinator.com | 2023-08-17

    Cool, will be interested to see how this develops! tokio's loom framework has been a big help in testing some tricky concurrency code I've worked on.

    Folks interested in this space might also be interested in the system I spend most of my time working on: Shadow. It also performs deterministic simulation of a network of hosts, but it intercepts network and system interactions at the syscall level via seccomp. As such it can work with binaries compiled from ~any language, usually without any code modification or special compilation. https://shadow.github.io/

  • ocl

    OpenCL for Rust

  • smartcore

    A comprehensive library for machine learning and numerical computing. The library provides a set of tools for linear algebra, numerical computing, optimization, and enables a generic, powerful yet still efficient approach to machine learning.

  • Peroxide

    Rust numeric library with R, MATLAB & Python syntax

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • rulinalg

    A linear algebra library written in Rust

  • russell

    Rust Scientific Libary. ODE and DAE (Runge-Kutta) solvers. Special functions (Bessel, Elliptic, Beta, Gamma, Erf). Linear algebra. Sparse solvers (MUMPS, UMFPACK). Probability distributions. Tensor calculus.

  • rebop

    Fast stochastic simulator for chemical reaction networks

  • serde-ndim

    Serde support for n-dimensional arrays from self-describing formats

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Rust Scientific Computing related posts

  • Burn: Deep Learning Framework built using Rust

    1 project | news.ycombinator.com | 24 Apr 2024
  • Burn Deep Learning Framework Release 0.12.0 Improved API and PyTorch Integration

    1 project | news.ycombinator.com | 31 Jan 2024
  • Burn Deep Learning Framework 0.11.0 Released: Just-in-Time Automatic Kernel Fusion & Founding Announcement

    1 project | /r/rust | 3 Dec 2023
  • Burn Deep Learning Framework v0.11.0 Released: Just-in-Time Kernel Fusion

    1 project | news.ycombinator.com | 1 Dec 2023
  • Burn – comprehensive dynamic Deep Learning Framework built using Rust

    1 project | news.ycombinator.com | 23 Nov 2023
  • Helper crate for working with image data of varying type?

    1 project | /r/rust | 29 May 2023
  • What is the most efficient way to study Rust for scientific computing applications?

    1 project | /r/rust | 23 May 2023
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 2 Jun 2024
    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. Learn more →

Index

What are some of the best open-source Scientific Computing projects in Rust? This list will help you:

Project Stars
1 burn 7,384
2 linfa 3,468
3 rust-ndarray 3,377
4 shadow 1,360
5 ocl 700
6 smartcore 659
7 Peroxide 459
8 rulinalg 283
9 russell 80
10 rebop 42
11 serde-ndim 6

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com