SmartSolveAI CSAIL · MIT
Software

Open, reproducible software.

Three components developed under the SmartSolveAI project, released with public source code, scripts, and reproducibility instructions.

01 SmartSolve Designer Specification-driven solver generation
The SmartSolve Designer agent loop: a Proposer agent writes a candidate solver; a Reviewer agent benchmarks it against a verified baseline and either returns diagnostics to the Proposer or accepts the candidate as the final solver. AGENT Proposer writes a candidate AGENT Reviewer benchmarks & decides candidate diagnostics accept OUT PROPOSE · BENCHMARK · REVISE

A specification-driven, multi-agent system that generates a high-performance linear solver specialized to the problem at hand. A short form fixes the run specification — matrix, right-hand sides, baseline solver and preconditioner, specialization strategies, acceptance thresholds, round budget and target language — and freezes it before discovery begins. A Proposer agent then writes candidate solvers while a Reviewer agent benchmarks each one against a verified same-language baseline, returning diagnostics until a candidate is accepted or the round budget is exhausted.

Every run returns the accepted Julia and C/PETSc source, a consolidated report, language-agnostic pseudocode, machine-readable metrics, and the unedited agent transcript. See the full walkthrough above ↑

Runs inside Claude Code · Julia 1.10 or newer required
PETSc + mpicc optional (C backend) · pandoc + xelatex optional (PDF report)
02 SmartDiscovery PETSc benchmarking & selection
SmartDiscovery workflow: input matrix benchmarked across PETSc solver–preconditioner combinations, returning the optimal configuration. INPUT Matrix A BENCHMARK · PETSc solver × preconditioner GMRES BCGS CG MINRES ILU JACOBI GAMG SOR ASM HYPRE OPTIMAL CG + JACOBI EXHAUSTIVE SEARCH

A benchmarking and selection tool for sparse linear solves. For a given input matrix, SmartDiscovery exhaustively benchmarks combinations of solvers and preconditioners — measuring accuracy, runtime, and memory usage — and returns the optimal configuration for the system at hand.

A PETSc-tailored version is currently under development, using matrices from the MIT Center for the Exascale Simulation of Coupled High Enthalpy Fluid-Solid Interactions for development and testing. An early implementation of SmartDiscovery is already available in SmartSolve.jl.

03 NeuralLinearSolve.jl Neural selection · SciML
NeuralLinearSolve.jl pipeline: sparse matrix rendered as a 64×64 spy plot, processed through three convolutional blocks and three dense layers, producing a probability distribution over candidate solvers. INPUT Matrix A SPY 64×64 3× CONV 1→16→32→64 3× DENSE 4096→256→64→3 PREDICTION KLU 0.94 UMFPACK 0.04 Pardiso 0.02 LEARNED MODEL

NeuralLinearSolve.jl is a direct implementation of learned selection heuristics for sparse linear systems. Given an input matrix, a convolutional neural network analyzes its spy plot and predicts a probability distribution over candidate solvers, enabling selection of the solver expected to be fastest.

The current version is trained on roughly 1,000 matrices from the SuiteSparse Matrix Collection and achieves around 94% top-1 accuracy on a held-out test set. For CHEFSI finite-element simulations, the benchmarking infrastructure behind SmartDiscovery for PETSc, and the database of optimal choices it generates, provide the training data needed to build a domain-specific learned heuristic.

Released as part of the SciML ecosystem.