Electronic Structure Software Development: Advancing the Modular Paradigm
CECAM-HQ-EPFL, Lausanne, Switzerland
Shared computational libraries that provide key functionality are now firmly established parts of the electronic structure software ecosystem (examples [1-8] include libxc, ELPA, Wannier90, spglib, the ELSI infrastructure with several solvers, NTPoly, DFTB+, which can be used as a library, other libraries found in the CECAM Electronic Structure Library, and many others). As electronic structure methods and codes diversify and mature, the development of libraries strengthens collaborations and avoids reimplementing (sometimes reinventing) the same methods in the context of a different, monolithic code. Over the years, a modular paradigm has emerged in which central pieces can be shared and reused between different projects.
Many efforts carried out so far have focused on making this paradigm successful and sustainable, by building robust software components with stable interfaces, offering the best possible performance on a broad range of hardware architectures, and sharing development practices between developers with sometimes very different backgrounds. Among the most important ongoing challenges are (1) training and educating new developers to take advantage of existing developments where that is appropriate and (2) continuously evolving library software to be useful, current, and usable by end users in often complex environments like HPC systems.
The scientific reach of electronic structure theory continues to expand rapidly, including by generalisation of high-throughput calculations, creation of complex workflows, and rapid growth of data-driven methods and machine learning. All these developments now attract participants beyond academia. On the computational side, the involvement of industrial partners - e.g. NVidia, Intel, NEC, AMD - is growing steadily, bringing feedback and insights from engineers. Globally, several key collaborative efforts develop shared software, including the MaX and NOMAD Centers of Excellence (CoE), the UK ExCALIBUR exascale project (https://excalibur.ac.uk/), the Swiss THEOS and MARVEL projects, the U.S. based Molecular Sciences Software Institute, DoE’s Exascale initiative, or DoE funded centers such as MiCCOM (http://miccom-center.org/). Connections with other communities, like quantum chemistry, are getting stronger because of shared needs, as illustrated by the TREX CoE (https://trex-coe.eu/). The Swiss Scientific Computing Center (CSCS), the U.K.’s Daresbury Laboratory, and many other individual institutions likewise act as lighthouses for shared developments within the broad electronic structure software ecosystem.
The CECAM Electronic Structure Library (ESL) initiative (https://esl.cecam.org) is a key venue that connects developers from electronic structure codes across the community (contributors represent, e.g., Siesta, BigDFT, DFTB+, Quantum Espresso, Octopus, FHI-aims, and several others). It provides a space for coordination between developers, new library developments and enhancements of existing libraries, as well as interaction with the broader ecosystem of library developments for electronic structure theory. Especially through its workshops, the ESL also acts as a venue that brings together developers across the many broader centers and collaborative efforts (see above) providing a common ground to exchange information and coordinate developments.
Nick Papior (Technical University of Denmark) - Organiser
Damien Caliste (CEA) - Organiser
Martin Lueders (Max Planck Institute for the structure and dynamics of matter) - Organiser
Layla Martin-Samos (CNR-IOM Democritos National Simulation Center, Trieste) - Organiser
Stefano de Gironcoli (Scuola Internazionale Superiore di Studi Avanzati - International School for Advanced Studies) - Organiser
Emilio Artacho (Nanogune, Ikerbasque and University of Cambridge) - Organiser
Alberto Garcia (Institut de Ciencia de Materials de Barcelona (ICMAB-CSIC)) - Organiser
Yann Pouillon (Simune Atomistics) - Organiser
Alin Elena (Daresbury Laboratory) - Organiser
Volker Blum (Duke University) - Organiser