Propulate
An asynchronous evolutionary optimization algorithm and software package for global optimization and hyperparameter search on high-performance computers.
Cite this software
Description
Click here to watch our 3 min introduction video!
Propulate is an HPC-tailored software for solving optimization problems in parallel. It is openly accessible and easy to use. Compared to a widely used competitor, Propulate is consistently faster - at least an order of magnitude for a set of typical benchmarks - and in some cases even more accurate.
Inspired by biology, Propulate borrows mechanisms from biological evolution, such as selection, recombination, and mutation. Evolution begins with a population of solution candidates, each with randomly initialized genes. It is an iterative "survival of the fittest" process where the population at each iteration can be viewed as a generation. For each generation, the fitness of each candidate in the population is evaluated. The genes of the fittest candidates are incorporated in the next generation.
Like in nature, Propulate does not wait for all compute units to finish the evaluation of the current generation. Instead, the compute units communicate the currently available information and use that to breed the next candidate immediately. This avoids waiting idly for other units and thus a load imbalance.
Each unit is responsible for evaluating a single candidate. The result is a fitness level corresponding with that candidate’s genes, allowing us to compare and rank all candidates. This information is sent to other compute units as soon as it becomes available.
When a unit is finished evaluating a candidate and communicating the resulting fitness, it breeds the candidate for the next generation using the fitness values of all candidates it evaluated and received from other units so far.
Propulate can be used for hyperparameter optimization and neural architecture search.
It was already successfully applied in several accepted scientific publications. Applications include grid load forecasting, remote sensing, and structural molecular biology.
In more technical terms
Propulate is a massively parallel evolutionary hyperparameter optimizer based on the island model with asynchronous propagation of populations and asynchronous migration. In contrast to classical genetic algorithms, Propulate maintains a continuous population of already evaluated individuals with a softened notion of the typically strictly separated, discrete generations. Our contributions include:
- A novel parallel genetic algorithm based on a fully asynchronous island model with independently processing workers.
- Massive parallelism by asynchronous propagation of continuous populations and migration via efficient communication using the message passing interface.
- Optimized use efficiency of parallel hardware by minimizing idle times in distributed computing environments.
To be more efficient, the generations are less well separated than they usually are in evolutionary algorithms. New individuals are generated from a pool of currently active, already evaluated individuals that may be from any generation. Individuals may be removed from the breeding population based on different criteria.
You can find the corresponding publication here:
Taubert, O. et al. (2023). Massively Parallel Genetic Optimization Through Asynchronous Propagation of Populations. In: Bhatele, A., Hammond, J., Baboulin, M., Kruse, C. (eds) High Performance Computing. ISC High Performance 2023. Lecture Notes in Computer Science, vol 13948. Springer, Cham. doi.org/10.1007/978-3-031-32041-5_6
Documentation
Check out the full documentation at https://propulate.readthedocs.io/! Here you can find installation instructions, tutorials, theoretical background, and API references.
Installation
Propulate depends on mpi4py and requires an MPI implementation under the hood. Currently, it is only tested with OpenMPI. You can install the latest stable release from PyPI: pip install propulate
If you need the latest updates, you can also install Propulate directly from the master branch. Just pull and run pip install ..
Acknowledgments
This work is supported by the Helmholtz AI platform grant.
- BSD-3-Clause
- Open Access
Participating organisations
Reference papers
Mentions
- 1.Author(s): Iaroslav OmelianenkoPublished in Lecture Notes in Networks and Systems, Proceedings of Tenth International Congress on Information and Communication Technology by Springer Nature Singapore in 2025, page: 207-21610.1007/978-981-96-6938-7_17
- 2.Author(s): Iaroslav OmelianenkoPublished in Lecture Notes in Networks and Systems, Proceedings of Ninth International Congress on Information and Communication Technology by Springer Nature Singapore in 2024, page: 397-40810.1007/978-981-97-3556-3_32
- 3.Author(s): Daniel Coquelin, Katharina Flügel, Marie Weiel, Nicholas Kiefer, Charlotte Debus, Achim Streit, Markus GötzPublished in Frontiers in Artificial Intelligence and Applications, ECAI 2024 by IOS Press in 202410.3233/faia240729
- 4.Author(s): Yannick Funk, Markus Götz, Hartwig AnztPublished in Proceedings of the 2022 SIAM Conference on Parallel Processing for Scientific Computing (PP) by Society for Industrial and Applied Mathematics in 2022, page: 14-2410.1137/1.9781611977141.2
- 1.Author(s): Arvid Weyrauch, Thomas Steens, Oskar Taubert, Benedikt Hanke, Aslan Eqbal, Ewa Götz, Achim Streit, Markus Götz, Charlotte DebusPublished in 2024 IEEE Conference on Artificial Intelligence (CAI) by IEEE in 2024, page: 1187-119410.1109/cai59869.2024.00212
- 2.Author(s): Jan Debus, Charlotte Debus, Günther Dissertori, Markus GötzPublished in 2024 Neuro Inspired Computational Elements Conference (NICE) by IEEE in 2024, page: 1-910.1109/nice61972.2024.10549584
- 3.Author(s): Marcel Aach, Rakesh Sarma, Eray Inanc, Morris Riedel, Andreas LintermannPublished in Proceedings of the SC '23 Workshops of the International Conference on High Performance Computing, Network, Storage, and Analysis by ACM in 2023, page: 1776-177910.1145/3624062.3624259
- 4.Author(s): Daniel Coquelin, Rocco Sedona, Morris Riedel, Markus GotzPublished in 2021 IEEE International Geoscience and Remote Sensing Symposium IGARSS by IEEE in 2021, page: 1587-159010.1109/igarss47720.2021.9554309
- 1.Author(s): Stefan Meisenbacher, Kaleb Phipps, Oskar Taubert, Marie Weiel, Markus Götz, Ralf Mikut, Veit HagenmeyerPublished in Applied Energy by Elsevier BV in 2025, page: 12593110.1016/j.apenergy.2025.125931
- 2.Author(s): Mia Schumacher, Markus Götz, Gabriele Dederer, Mareen LeePublished in Hydrographische Nachrichten in 2024, page: 20-25
- 3.Author(s): Oskar Taubert, Fabrice von der Lehr, Alina Bazarova, Christian Faber, Philipp Knechtges, Marie Weiel, Charlotte Debus, Daniel Coquelin, Achim Basermann, Achim Streit, Stefan Kesselheim, Markus Götz, Alexander SchugPublished in Communications Biology by Springer Science and Business Media LLC in 202310.1038/s42003-023-05244-9
- 1.Author(s): Katharina Flügel, Daniel Coquelin, Marie Weiel, Charlotte Debus, Achim Streit, Markus GötzPublished in 202510.1109/ijcnn64981.2025.11227446
- 2.Author(s): Valeriya V. Tynchenko, Ivan Malashin, Sergei O. Kurashkin, Vadim Tynchenko, Andrei Gantimurov, Vladimir Nelyub, Aleksei BorodulinPublished in 202510.3390/fi17050215
- 3.Author(s): Jia Mian Tan, Haoran Liao, Wei Liu, Changjun Fan, Jincai Huang, Zhong Liu, Junchi YanPublished in 202410.3934/mbe.2024275
- 4.Author(s): Stefan Meisenbacher, Kaleb Phipps, Oskar Taubert, Marie Weiel, Markus Götz, Ralf Mikut, Veit HagenmeyerPublished by arXiv in 202410.48550/arxiv.2412.00419
- 5.Author(s): Daniel Coquelin, Katherina Flügel, Marie Weiel, Nicholas Kiefer, Muhammed Öz, Charlotte Debus, Achim Streit, Markus GötzPublished by arXiv in 202410.48550/arxiv.2405.01067
- 6.Author(s): Katharina Flügel, Daniel Coquelin, Marie Weiel, Achim Streit, Markus GötzPublished by arXiv in 202410.48550/arxiv.2410.17764
- 7.Author(s): Marcel Aach, Rakesh Sarma, Helmut Neukirchen, Morris Riedel, Andreas LintermannPublished by arXiv in 202410.48550/arxiv.2412.02729
Contributors
Contact person
Marie Weiel
Designer, Developer and Maintainer
Karlsruhe Institute of Technology
0000-0001-9648-4385
Mail MarieRelated projects
Helmholtz AI
Democratizing AI