Skip to content

SmartSolve aims to significantly accelerate computations by providing better algorithmic and architectural choices.

Notifications You must be signed in to change notification settings

JuliaLabs/SmartSolve.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartSolve.jl

SmartSolve.jl is a Julia-based toolbox for AI-guided algorithmic discovery, designed to accelerate computations by generating enhanced algorithmic and architectural selection strategies. Envisioned as a general-purpose tool for scientific computing, current efforts focus on challenges in computational linear algebra. The toolbox addresses the growing complexity of selecting efficient solvers, data formats, precision strategies, and hardware resources for structurally diverse matrices—where conventional approaches offer substantial opportunities for improvement. SmartSolve.jl constructs a performance database through systematic benchmarking and applies automated Pareto analysis to identify optimal trade-offs between accuracy and speed. This database underpins a data-driven model that synthesizes dispatch strategies tailored to high-performance linear algebra software.

How to start

In the following example SmartSolve is used to automatically generate SmartLU, an optimized version of the LU decomposition.

cd SmartSolve/examples/smartlu
julia --project=.
pkg> dev ../..
pkg> instantiate
julia> include("generate_smartlu.jl")

Publications

  • Emmanuel Lujan and Alan Edelman. "When Structure is Silent: Opportunities for Algorithmic Dispatch in Linear Algebra," 2025 IEEE High Performance Extreme Computing Conference (HPEC). Submitted.
  • Rushil Shah, Emmanuel Lujan, and Rabab Alomairy, and Alan Edelman. "Data-Driven Dynamic Algorithm Dispatch with Large Language Models," 2025 IEEE High Performance Extreme Computing Conference (HPEC). Submitted.
  • Emmanuel Lujan, Rushil Shah, Rabab Alomairy, and Alan Edelman. "SmartSolve.jl: AI for Algorithmic Discovery," 0.1.0-alpha. Zenodo (link).
  • Rabab Alomairy, Felipe Tome, Julian Samaroo, Alan Edelman. "Dynamic Task Scheduling with Data Dependency Awareness Using Julia", 2024 IEEE High Performance Extreme Computing Conference (HPEC) (link).

Talks

  • Rushil Shah, Emmanuel Lujan, and Rabab Alomairy. "Automated Algorithm Selection Discovery via LLMs," JuliaCon 2025, Lightning Talk. (Link).
  • Alan Edelman et al. "Julia, Portable Numerical Linear Algebra and Beyond." Presentation at Householder Symposium, 2025. (Link). Accessed June 20, 2025.
  • Alan Edelman, "Improving the HPC Experience: Did Julia Get It Right, or Will AI Hide the Problem (or Both)?" Keynote at the Workshop on Asynchronous Many-Task Systems and Applications (WAMTA), 2025. (Link). Accessed June 20, 2025.

How to Cite

@software{SmartSolve2025,
  author       = {Lujan, Emmanuel and Shah, Rushil N. and Alomairy, Rabab and Edelman, Alan},
  title        = {SmartSolve.jl: AI for Algorithmic Discovery},
  month        = jul,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {0.1.0-alpha},
  doi          = {10.5281/zenodo.15784217},
  url          = {https://doi.org/10.5281/zenodo.15784217},
}

Acknowledgements

We thank DARPA for supporting this work at MIT.

About

SmartSolve aims to significantly accelerate computations by providing better algorithmic and architectural choices.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages