% IMPORTANT: The following is UTF-8 encoded. This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.
@ARTICLE{Oliveira:889099,
author = {Oliveira, Micael J. T. and Papior, Nick and Pouillon, Yann
and Blum, Volker and Artacho, Emilio and Caliste, Damien and
Corsetti, Fabiano and de Gironcoli, Stefano and Elena, Alin
M. and García, Alberto and García-Suárez, Víctor M. and
Genovese, Luigi and Huhn, William P. and Huhs, Georg and
Kokott, Sebastian and Küçükbenli, Emine and Larsen, Ask
H. and Lazzaro, Alfio and Lebedeva, Irina V. and Li,
Yingzhou and López-Durán, David and López-Tarifa, Pablo
and Lüders, Martin and Marques, Miguel A. L. and Minar, Jan
and Mohr, Stephan and Mostofi, Arash A. and O’Cais, Alan
and Payne, Mike C. and Ruh, Thomas and Smith, Daniel G. A.
and Soler, José M. and Strubbe, David A. and
Tancogne-Dejean, Nicolas and Tildesley, Dominic and Torrent,
Marc and Yu, Victor Wen-zhe},
title = {{T}he {CECAM} electronic structure library and the modular
software development paradigm},
journal = {The journal of chemical physics},
volume = {153},
number = {2},
issn = {1089-7690},
address = {Melville, NY},
publisher = {American Institute of Physics},
reportid = {FZJ-2021-00029},
pages = {024117 -},
year = {2020},
abstract = {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.},
cin = {JSC},
ddc = {530},
cid = {I:(DE-Juel1)JSC-20090406},
pnm = {511 - Computational Science and Mathematical Methods
(POF3-511) / E-CAM - An e-infrastructure for software,
training and consultancy in simulation and modelling
(676531)},
pid = {G:(DE-HGF)POF3-511 / G:(EU-Grant)676531},
typ = {PUB:(DE-HGF)16},
pubmed = {32668924},
UT = {WOS:000552783000001},
doi = {10.1063/5.0012901},
url = {https://juser.fz-juelich.de/record/889099},
}