wgmath
App Listed
GPU scientific computing on every platform
- Downloads
- Not measured
- Dependents
- Not applicable
- Stars
- 150
- Forks
- 7
- Contributors
- 1
- Commits
- 45
About
wgmath − GPU scientific computing on every platform
wgmath is a set of Rust libraries exposing re-usable WebGPU shaders for scientific computing including:
- The wgcore crate, a centerpiece of the wgmath ecosystem, exposes a set of proc-macros to facilitate sharing and composing shaders across Rust libraries.
- Linear algebra with the wgebra crate.
- AI (Large Language Models) with the wgml crate.
- Collision-detection with the wgparry2d and wgparry3d crates.
- Rigid-body physics with the wgrapier2d and wgrapier3d crates.
By targeting WebGPU, these libraries run on most GPUs, including on mobile and on the web. It aims to promote open and cross-platform GPU computing for scientific applications, a field currently strongly dominated by proprietary solutions (like CUDA).
⚠️ All these libraries are still under heavy development and might be lacking some important features. Contributions are welcome!
Web Performance Notes
When running on the Web, best results are achieved with chrome-based browsers (including Edge).
Note that:
Read the full README
- We found WebGPU to be 10x slower on linux (tested on Ubuntu) compared to Windows or MacOS.
- We found Firefox (nightly) to be 10x slower than Chrome on all platforms (including MacOS/Windows).
- Keep in mind that some browsers don’t have WebGPU enabled by default and/or has an experimental WebGPU implementation (like safari) that might not work.
See the readme of each individual crate (on the crates directory) for additional details.
Compatibility
- License
- Apache-2.0
- Crate facts
- Not measured
- Runs on, Native code and Python bindings read crates on crates.io. This entry lists no crate.
Compare with similar projects
Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.
| Project | Downloads | Dependents | Stars | Latest release | Runs on (GPU) | Native code | License |
|---|---|---|---|---|---|---|---|
|
GPU scientific computing on every platform |
Not measured | Not applicable | 150 | Not measured | Not measured | Not measured | Apache-2.0 |
|
cubecl Featured
Multi-platform high-performance compute language extension for Rust. Also in Tensors and GPU compute. |
523,446 downloads over 30 days | 145 | 2,490 | 0.11.3 | CUDA, WebGPU, Metal, ROCm, Vulkan | Binds native code: cubecl-hip-sys (feature hip), llvm-sys (feature cpu), tracy-client-sys (feature profile-tracy) | Apache-2.0 OR MIT |
|
numr Listed
The base for numerical code in Rust, in the role NumPy has in Python: n-dimensional tensors, linear algebra, FFT, statistics and autograd on CPU, CUDA and WebGPU. The backends use native kernels, with no cuBLAS, MKL or other vendor math library. Also in Math and science. |
1,673 downloads over 30 days | 7 | 59 | 0.15.2 | CUDA, WebGPU | Binds native code: ring (feature distributed) | Apache-2.0 |
|
scirs Listed
A Rust port of SciPy with AI/ML extensions - Scientific Computing and AI Library (scirs2) Python bindings Also in Math and science. |
117 downloads over 30 days | 198 | 306 | 0.6.5 | CUDA, WebGPU, Metal, ROCm, Vulkan | Binds native code: perf-event-open-sys (feature profiling_perf). Build uses a native toolchain: cc (feature c-opt) | Apache-2.0 |
|
A low-level GPGPU compute library featuring cross-platform support and SPIR-V as input Also in Tensors and GPU compute. |
49 downloads over 30 days | 0 | 1,604 | 0.1.1 | WebGPU | Binds native code: cl-sys, link-cplusplus (feature glsl-compile), shaderc-sys (feature glsl-compile) | MIT |
|
solvr Listed
Scientific computing on numr, in the role SciPy has in Python, with a module map for SciPy users: optimization, ODE, DAE and PDE solvers, interpolation, statistics, signal processing, spatial algorithms and clustering. Also in Math and science. |
31 downloads over 30 days | 0 | 11 | 0.3.1 | CUDA, WebGPU | No native code found | Apache-2.0 |
All projects in Math and scienceAll projects in Tensors and GPU compute
Why ListedNo archive, New or Featured rule places it, so it is Listed.
What it lacks for Featured
- The check holds no value for Homebrew installs on request over 365 days, Repology repository families, Docker pull growth over 90 days. A gate that lacks its signal does not pass.
What else the check found
- The last activity is on 29 Nov 2025, 345 days ago. The rules expect an update within 365 days. Dormancy rule
- The oldest outside issue waits 697 days for a reply, past the limit of 270. No maintainer replied in 365 days. Rot signals rule
Not measured: First release, Homebrew installs on request over 365 days, Repology repository families, Docker pull growth over 90 days.
Exact rules: Listed, Featured app. The check on applied thresholds version 9.
Every rule outcome, as the check records it
expected-interval: app: E = 365 daysdormancy: last activity 2025-11-29, 345 days ago, E = 365: activerot: oldest unanswered issue 697 days (limit 270), no maintainer reply in 365 daysfeatured: not featured: unknown homebrew_on_request_365d, repology_families, docker_pull_growth_90dlisted: listed: no archive, new or featured rule applies
Measurements and sources
Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.
Sources4 sources
- Description: the GitHub repository description
- GitHub repository, fetched
- GitHub releases, fetched
- GitHub contributors, fetched
AdoptionNot measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Active dependents | Not measured | Yes | ||
| New dependents (365 days) | Not measured | Yes | ||
| Peak active dependents | Not measured | Yes | ||
| Active dependents as a share of the peak | Not measured | Yes | ||
| Binary downloads per release | Not measured | Yes |
MaintenanceLatest human commit: 11 months ago8 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Latest human commit | 2025-11-29 | GitHub repository | Yes | |
| Latest release | Not measured | Yes | ||
| First release | Not measured | Yes | ||
| Latest version | Not measured | Yes | ||
| Days the oldest outside issue waits for a reply | 697 | GitHub repository | Yes | |
| Maintainer replies over 365 days | 0 | GitHub repository | Yes | |
| Repository archived | false | GitHub repository | Yes | |
| Repository gone | false | GitHub repository | Yes | |
| Release commit or manifest in the repo | Not measured | Yes | ||
| Published docs | Not measured | Yes | ||
| Latest release fails cargo check | Not measured | Yes | ||
| Build check date | Not measured | Yes | ||
| Build check toolchain | Not measured | Yes |
SecurityNot measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Unpatched vulnerabilities past the grace window | Not measured | Yes | ||
| RustSec unmaintained advisory | Not measured | Yes | ||
| Deprecation notice | Not measured | Yes | ||
| Deprecated requirement | Not measured | Yes |
Distribution0 binary downloads over the last 3 releases10 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Releases | Not measured | Yes | ||
| Downloads over 30 days | Not measured | Yes | ||
| Binary downloads over the last 3 releases | 0 | GitHub releases | Yes | |
| Homebrew installs on request over 365 days | Not measured | Yes | ||
| Repology repository families | Not measured | Yes | ||
| Docker pull growth over 90 days | Not measured | Yes | ||
| Docker pulls at the growth baseline | Not measured | Yes | ||
| Every version a prerelease | Not measured | Yes | ||
| Every version 0.0.x | Not measured | Yes | ||
| Every version yanked | Not measured | Yes | ||
| Crate deleted from crates.io | Not measured | Yes |
Repository150 stars, 7 forks, 1 contributors, 45 commits. Stars alone never qualify a project.1 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| GitHub stars | 150 | GitHub repository | Yes — one part of the repository route | |
| GitHub forks | 7 | GitHub repository | Yes — one part of the repository route | |
| Contributors with a GitHub account | 1 | GitHub contributors | Yes — one part of the repository route | |
| Commits on the default branch | 45 | GitHub repository | No | |
| Repository's main crate left out of the entry | Not measured | Yes |
Facts that never count
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| License | Apache-2.0 | GitHub repository | No | |
| Runs on, from listed crates and their direct dependencies | Not measured | No | ||
| What shows each backend | Not measured | No | ||
| Native code, from listed crates and their dependencies | Not measured | No | ||
| Python bindings, from direct dependencies of listed crates | Not measured | No | ||
| Crates that depend on a listed crate directly | Not measured | No |
Corrections and review history
No correction applies to this entry.
Judgments
A judgment enters only through an approved issue and a merged pull request.
No judgment applies to this entry.