# Massively Parallel Genetic Optimization through Asynchronous Propagation of Populations

arXiv: https://arxiv.org/abs/2301.08713 · HTML: https://mlsanity.com/paper/2301.08713/

## Key facts

- Cited by 7 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 20 Jan 2023.

## Built on by (most cited first, 7 of 7)

- [Beyond Backpropagation: Optimization with Multi-Tangent Forward Gradients](https://mlsanity.com/paper/2410.17764/) (2024)
- [Harnessing Orthogonality to Train Low-Rank Neural Networks](https://mlsanity.com/paper/2401.08505/) (2024)
- [ReCycle: Fast and Efficient Long Time Series Forecasting with Residual Cyclic Transformers](https://mlsanity.com/paper/2405.03429/) (2024)
- [AB-Training: A Communication-Efficient Approach for Distributed Low-Rank Learning](https://mlsanity.com/paper/2405.01067/) (2024)
- [AutoPQ: Automating Quantile estimation from Point forecasts in the context of sustainability](https://mlsanity.com/paper/2412.00419/) (2024)
- [Resource-Adaptive Successive Doubling for Hyperparameter Optimization with Large Datasets on High-Performance Computing Systems](https://mlsanity.com/paper/2412.02729/) (2024)
- [PETNet -- Coincident Particle Event Detection using Spiking Neural Networks](https://mlsanity.com/paper/2504.06730/) (2025)

## Abstract (arXiv)

We present Propulate, an evolutionary optimization algorithm and software package for global optimization and in particular hyperparameter search. For efficient use of HPC resources, Propulate omits the synchronization after each generation as done in conventional genetic algorithms. Instead, it steers the search with the complete population present at time of breeding new individuals. We provide an MPI-based implementation of our algorithm, which features variants of selection, mutation, crossover, and migration and is easy to extend with custom functionality. We compare Propulate to the established optimization tool Optuna. We find that Propulate is up to three orders of magnitude faster without sacrificing solution accuracy, demonstrating the efficiency and efficacy of our lazy synchronization approach. Code and documentation are available at https://github.com/Helmholtz-AI-Energy/propulate
