algorithmicsuperintelligence/openevolve
Open-source implementation of AlphaEvolve
What it solves
OpenEvolve automates the discovery and optimization of algorithms and code. It replaces manual, time-consuming optimization processes with an autonomous evolutionary pipeline, allowing LLMs to discover breakthrough algorithms, hardware-specific optimizations (like GPU kernels), and novel mathematical solutions without human guidance.
How it works
OpenEvolve uses a "Quality-Diversity" evolutionary approach combining MAP-Elites and LLMs. It maintains a diverse population of code candidates across multiple "islands" to prevent premature convergence. An ensemble of LLMs generates new iterations of code based on performance and diversity metrics. The system incorporates an artifact side-channel to feed execution errors back to the LLM for self-correction and uses deterministic seeding to ensure scientific reproducibility.
Who it’s for
- Performance Engineers: Those looking for hardware-specific optimizations that humans might miss.
- Algorithm Researchers: People seeking novel approaches to classic mathematical or computing problems.
- Scientific Computing Specialists: Users needing to automate the tedious tuning of complex filters or equations.
- Competitive Programmers: Developers wanting to generate multiple diverse solution strategies for a single problem.
Highlights
- Autonomous Discovery: Capable of evolving code from simple random search to state-of-the-art algorithms (e.g., circle packing).
- Hardware Optimization: Demonstrated 2.8x speedups on Apple M1 Pro for GPU kernels.
- Multi-Language Support: Works with Python, Rust, R, and Metal shaders.
- Quality-Diversity Evolution: Uses MAP-Elites to maintain a population of diverse, high-performing solutions.
- Broad LLM Compatibility: Integrates with OpenAI, Google Gemini, Claude Code CLI, and local models via Ollama/vLLM.
Related
- Project
- Project
- Project
- Project