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.
Why single-board computers?
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.
Highlights
- 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
What we optimise on the board
| Path | On our boards |
|---|---|
| Scalar | rv64gc baseline — U74 · X60 · X100 (RVA23 on K3) |
| Vector | RVV 1.0 Zvl256b on X60/X100 (none on U74). Ahead’s C910 is draft RVV 0.7.1 (xtheadvector, 128-bit) — see BeagleV-Ahead |
| Custom | K1 X60 IME1 (XsmtVdot); K3 A100 IME2 · 60 TOPS |
| GPU | VF2 BXE-4-32 · K1 BXE-2-32 (GPGPU closed) · K3 and Ahead BXM-4-64 |
Kernels
Libs with their own ISA kernels (RVV / IME):
Derivatives
Stack probes that call into the kernels above (FlexiBLAS / FFT / portable parallel):
- NumPy · Armadillo · R · scikit-learn
- LAPACK · ELPA · ScaLAPACK · PETSc
- Kokkos · PLUMED · ScaFaCoS · Voro++ · OSU
Apps
- HPL · Quantum ESPRESSO · GROMACS · LAMMPS
- ONNX Runtime · llama.cpp
- OpenFOAM · waLBerla · ESPResSo
- MetalWalls · MODFLOW · GCC
Boards
- VisionFive 2 — 4× U74; HPL 3.13 → 5.28 GFLOP/s
- BeagleV-Ahead — 4× C910 (
xtheadvector); DGEMM 7.42 / SGEMM 16.58 GFLOP/s at 4 cores - Orange Pi RV2 — 8× X60 (RVV + IME); HPL nan → 10.53; IME / LLM notes
- Banana Pi F3 — same X60 / K1, 3.7 GB RAM; HPL 11.52; IME ~45 GOP/s
- Banana Pi SM10 — X100 + A100 (K3); early notes
Use the menu for full pages. Benchmarks live in opensolvers/benchmarks.
Contact
Use the message box below for questions or collaboration — we reply by email.
- Public / bugs: opensolvers/benchmarks issues
- Sponsors: GitHub Sponsors — see Sponsors
Send a message
Questions, board ideas, or collaboration notes — goes to the OpenSolvers inbox.
Newsletter
Occasional updates on RISC-V benchmarks, kernel fixes, and new board results.