TY  - JOUR
AU  - Oliveira, Micael J. T.
AU  - Papior, Nick
AU  - Pouillon, Yann
AU  - Blum, Volker
AU  - Artacho, Emilio
AU  - Caliste, Damien
AU  - Corsetti, Fabiano
AU  - de Gironcoli, Stefano
AU  - Elena, Alin M.
AU  - García, Alberto
AU  - García-Suárez, Víctor M.
AU  - Genovese, Luigi
AU  - Huhn, William P.
AU  - Huhs, Georg
AU  - Kokott, Sebastian
AU  - Küçükbenli, Emine
AU  - Larsen, Ask H.
AU  - Lazzaro, Alfio
AU  - Lebedeva, Irina V.
AU  - Li, Yingzhou
AU  - López-Durán, David
AU  - López-Tarifa, Pablo
AU  - Lüders, Martin
AU  - Marques, Miguel A. L.
AU  - Minar, Jan
AU  - Mohr, Stephan
AU  - Mostofi, Arash A.
AU  - O’Cais, Alan
AU  - Payne, Mike C.
AU  - Ruh, Thomas
AU  - Smith, Daniel G. A.
AU  - Soler, José M.
AU  - Strubbe, David A.
AU  - Tancogne-Dejean, Nicolas
AU  - Tildesley, Dominic
AU  - Torrent, Marc
AU  - Yu, Victor Wen-zhe
TI  - The CECAM electronic structure library and the modular software development paradigm
JO  - The journal of chemical physics
VL  - 153
IS  - 2
SN  - 1089-7690
CY  - Melville, NY
PB  - American Institute of Physics
M1  - FZJ-2021-00029
SP  - 024117 -
PY  - 2020
AB  - First-principles electronic structure calculations are now accessible to a very large community of users across many disciplines, thanks to many successful software packages, some of which are described in this special issue. The traditional coding paradigm for such packages is monolithic, i.e., regardless of how modular its internal structure may be, the code is built independently from others, essentially from the compiler up, possibly with the exception of linear-algebra and message-passing libraries. This model has endured and been quite successful for decades. The successful evolution of the electronic structure methodology itself, however, has resulted in an increasing complexity and an ever longer list of features expected within all software packages, which implies a growing amount of replication between different packages, not only in the initial coding but, more importantly, every time a code needs to be re-engineered to adapt to the evolution of computer hardware architecture. The Electronic Structure Library (ESL) was initiated by CECAM (the European Centre for Atomic and Molecular Calculations) to catalyze a paradigm shift away from the monolithic model and promote modularization, with the ambition to extract common tasks from electronic structure codes and redesign them as open-source libraries available to everybody. Such libraries include “heavy-duty” ones that have the potential for a high degree of parallelization and adaptation to novel hardware within them, thereby separating the sophisticated computer science aspects of performance optimization and re-engineering from the computational science done by, e.g., physicists and chemists when implementing new ideas. We envisage that this modular paradigm will improve overall coding efficiency and enable specialists (whether they be computer scientists or computational scientists) to use their skills more effectively and will lead to a more dynamic evolution of software in the community as well as lower barriers to entry for new developers. The model comes with new challenges, though. The building and compilation of a code based on many interdependent libraries (and their versions) is a much more complex task than that of a code delivered in a single self-contained package. Here, we describe the state of the ESL, the different libraries it now contains, the short- and mid-term plans for further libraries, and the way the new challenges are faced. The ESL is a community initiative into which several pre-existing codes and their developers have contributed with their software and efforts, from which several codes are already benefiting, and which remains open to the community.
LB  - PUB:(DE-HGF)16
C6  - 32668924
UR  - <Go to ISI:>//WOS:000552783000001
DO  - DOI:10.1063/5.0012901
UR  - https://juser.fz-juelich.de/record/889099
ER  -