| title | OpenSolvers — RISC-V scientific software benchmarks |
|---|---|
| description | Benchmark notes for open-source scientific libraries, applications, and AI inference engines on consumer RISC-V boards — HPL, BLAS, Quantum ESPRESSO, llama.cpp, GROMACS, LAMMPS, OpenFOAM, waLBerla, PETSc, EESSI, and FlexiBLAS. |
| permalink | / |
OpenSolvers explores how open-source scientific software runs on real hardware — starting with RISC-V boards and the tools that make that practical (EESSI, OpenBLAS, and friends). We also tune AI inference (llama.cpp, ONNX Runtime) on the same cores (RVV, IME). If the work is useful, sponsor OpenSolvers on GitHub.
The improvements we chase live at the core of the stack — BLAS kernels, vector backends, ISA bugs, correctness that only shows up on real silicon. An SBC gives that microarchitecture with a feedback loop in hours, not queue days. Get the kernels right on a board, and the same modules scale to a cluster.
- OpenBLAS
gemv_n— stock RVV failed HPL / ELPA / QE withnan; patched EESSI restores correctness (HPL, EESSI blog) - IME on X60 — ~42–48 GOP/s full GEMM, 68 with TCM when B fits; TCM off for LLM e2e (RV2)
- ONNX / llama.cpp — real decode via CompInt8 IME; Q4_0 IME wins prefill, RVV wins token-gen; Q8_0 hybrid restores decode
- GROMACS — hand RVV
Force3.31× whole-app; FFT micro wins alone do not move the needle - FFTW / QE — RVV FFT 1.06–1.60× in isolation, ~0% drop-in under
FFTW_ESTIMATE
| Path | On our boards |
|---|---|
| Scalar | Correctness baseline (rv64gc, generic OpenBLAS) |
| Vector | RVV in OpenBLAS / FFTW / apps — and the bugs we fixed |
| Custom | X60 IME (smt.vmadot) for int8/int4 GEMM |
| GPU | PowerVR present; vendor GPGPU closed on K1 (BXM-only DDK) |
- BLAS · BLIS · NumPy · Armadillo · R · scikit-learn
- LAPACK · ELPA · ScaLAPACK · PETSc
- FFTW · MLAS · Kokkos · PLUMED
- ScaFaCoS · Voro++ · OSU
- HPL · Quantum ESPRESSO · GROMACS · LAMMPS
- ONNX Runtime · llama.cpp
- OpenFOAM · waLBerla · ESPResSo
- MetalWalls · MODFLOW · GCC
- VisionFive 2 — 4× U74; HPL 3.13 → 5.28 GFLOP/s
- Orange Pi RV2 — 8× X60 (RVV + IME); HPL nan → 10.53; IME / LLM notes
- Banana Pi F3 — same K1 SoC, 3.7 GB RAM; HPL 11.52; IME ~45 GOP/s
Use the menu for full pages. Benchmarks live in opensolvers/benchmarks.
Use the message box below for questions or collaboration — we reply by email.
- Public / bugs: opensolvers/benchmarks issues
- Sponsors: GitHub Sponsors — see Sponsors