Published June 7, 2024 | Version v1.2.2
Software Open

Helmholtz-AI-Energy/propulate: v1.2.2

  • 1. Karlsruhe Institute of Technology
  • 2. Helmholtz AI

Description

Propulate 🧬 is an HPC-tailored software for solving optimization problems in parallel. More specifically, it is an asynchronous evolutionary optimization algorithm and Python package with MPI parallelization. This makes it particularly suitable for large-scale hyperparameter optimization and neural architecture search.

This release includes the following features and enhancements:

  • Various different optimizer flavors:
    • Covariance Matrix Adaptation Evolution Strategy (CMA-ES)
    • Particle Swarm Optimization (PSO)
    • Nelder-Mead Optimization
  • Early stopping of unpromising candidates with surrogate models
  • Multi-level parallelism by distributing each evaluation itself in addition to running
    multiple evaluations asynchronously at a time

For a detailed description, check out Propulate's documentation at https://propulate.readthedocs.io/.

Notes (English)

If you use this software, please cite it as below:

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. https://doi.org/10.1007/978-3-031-32041-5_6

Files

propulate-1.2.2.zip

Files (6.6 MB)

Name Size Download all
md5:2d1341d57eda6e56f17ec58a04829ceb
6.6 MB Preview Download

Additional details

Software

Repository URL
https://github.com/Helmholtz-AI-Energy/propulate
Programming language
Python
Development Status
Active