arrow
Return

Portable, heterogeneous ensemble workflows at scale using libEnsemble

delete2024-11-18
delete0
delete
OA
AI
S
Stephen D. Hudson *
J
Jeffrey Larson
J
John-Luke Navarro
S
Stefan M. Wild
DOI:10.1177/10943420241298297delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
libEnsemble is a Python-based toolkit for running dynamic ensembles, developed as part of the DOE Exascale Computing Project. The toolkit utilizes a unique generator-simulator-allocator paradigm, where generators produce input for simulators, simulators evaluate those inputs, and allocators decide whether and when a simulator or generator should be called. The generator steers the ensemble based on simulation results. Generators may, for example, apply methods for numerical optimization, machine learning, or statistical calibration. libEnsemble communicates between a manager and workers. Flexibility is provided through multiple manager-worker communication substrates each of which has different benefits. These include Python's multiprocessing, mpi4py, and TCP. Multisite ensembles are supported using Balsam or Globus Compute. We overview the unique characteristics of libEnsemble as well as current and potential interoperability with other packages in the workflow ecosystem. We highlight libEnsemble's dynamic resource features: libEnsemble can detect system resources, such as available nodes, cores, and GPUs, and assign these in a portable way. These features allow users to specify the number of processors and GPUs required for each simulation; and resources will be automatically assigned on a wide range of systems, including Frontier, Aurora, and Perlmutter. Such ensembles can include multiple simulation types, some using GPUs and others using only CPUs, sharing nodes for maximum efficiency. We also describe the benefits of libEnsemble's generator-simulator coupling, which easily exposes to the user the ability to cancel, and portably kill, running simulations based on models that are updated with intermediate simulation output. We demonstrate libEnsemble's capabilities, scalability, and scientific impact via a Gaussian process surrogate training problem for the longitudinal density profile at the exit of a plasma accelerator stage. The study uses gpCAM for the surrogate model and employs either Wake-T or WarpX simulations, highlighting efficient use of resources that can easily extend to exascale.
Keywords:
Dynamic ensembles
python toolkit
exascale computing
portable workflows

Journal

International Journal of High Performance Computing Applications cover
International Journal of High Performance Computing Applications
IF:
2.5
Papers:
1.1K
Citations:
1.3K

Organization

A
Argonne National Laboratory
Scholars:
1.1W
Papers: 9.2K
Citations: 3.8W
U
united states department of energy (doe)
Scholars:
11.3W
Papers: 9.6W
Citations: 246
Cited Papers

Cited Papers

Activity/inactivity circadian rhythm shows high similarities between young obesity-induced rats and old rats
err2016-03-01
err0
errOAAI
errR Bravo Santos; J Delgado; J Cubero; L Franco; S Ruiz-Moyano; M Mesa; AB Rodríguez; C Uguz; C Barriga
errShare
errSave
Convective Diffusion in Porous Membranes with Adsorbed Charges
err2002-05-01
err0
PREAI
errAnna-Kaisa Kontturi; Kyoesti Kontturi; Salvador Mafe; Jose A. Manzanares; Pasi Niinikoski; Mikko Vuoristo
errShare
errSave
Integrating ytopt and libEnsemble to autotune OpenMC
err2024-10-07
err1
errOAAI
errWu, Xingfu; Tramm, John R.; Larson, Jeffrey; Navarro, John-Luke; Balaprakash, Prasanna; Videau, Brice; Kruse, Michael; Hovland, Paul; Taylor, Valerie; Hall, Mary
errShare
errSave
Sports sponsorship: scientific coverage in academic journals
err2019-03-11
err0
PREAI
errClaudia Patricia Maldonado-Erazo; Amador Durán-Sánchez; José Álvarez-García; María de la Cruz Del Río-Rama
errShare
errSave
Comparison of multiobjective optimization methods for the LCLS-II photoinjector
err2023-02-01
err5
errOAAI
errNeveu, Nicole; Chang, Tyler H.; Franz, Paris; Hudson, Stephen; Larson, Jeffrey
errShare
errSave
researcher View more