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 ↑
PETSc + mpicc optional (C backend) · pandoc + xelatex optional (PDF report)
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.
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.
Sibling projects
Open-source Julia projects developed alongside SmartSolveAI.
A framework for out-of-core and parallel computing in Julia. A Dask-inspired scheduler executes task graphs across threads, distributed worker processes and GPUs, handling work placement and data movement so code parallelises without manual coordination.
JuliaParallel/Dagger.jl↗Hardware-agnostic, datatype-flexible dense linear algebra for Julia. LAPACK and BLAS routines written once run across CPUs and GPUs and across double, single, half and complex precision, with no separate implementation per architecture or type.
NextLinearAlgebra/NextLA.jl↗