1. The CECAM electronic structure library and the modular software development paradigm
- Author
-
Thomas Ruh, M. Lüders, William P. Huhn, Arash A. Mostofi, Alan O'Cais, Emine Kucukbenli, David Lopez-Duran, Volker Blum, Nick Rübner Papior, Yingzhou Li, Alfio Lazzaro, Micael J. T. Oliveira, Luigi Genovese, Yann Pouillon, Mike C. Payne, Stephan Mohr, Pablo López-Tarifa, Alberto García, Dominic J. Tildesley, Fabiano Corsetti, Marc Torrent, Georg Huhs, Víctor M. García-Suárez, Alin M. Elena, Nicolas Tancogne-Dejean, Miguel A. L. Marques, Damien Caliste, José M. Soler, Victor Yu, David A. Strubbe, Ask Hjorth Larsen, Sebastian Kokott, Daniel G. A. Smith, Emilio Artacho, Stefano de Gironcoli, Irina V. Lebedeva, J. Minár, European Commission, National Science Foundation (US), Engineering and Physical Sciences Research Council (UK), Ministerio de Ciencia, Innovación y Universidades (España), Agencia Estatal de Investigación (España), Ministerio de Economía y Competitividad (España), European Cooperation in Science and Technology, Barcelona Supercomputing Center, Artacho, Emilio [0000-0001-9357-1547], Payne, Michael [0000-0002-5250-8549], and Apollo - University of Cambridge Repository
- Subjects
computational condensed-matter physics ,Computer science ,General Physics and Astronomy ,simulation software ,computer.software_genre ,DFT ,01 natural sciences ,09 Engineering ,Software ,Engineering ,plane-wave ,Computational science and engineering ,implementation ,media_common ,AB-INITIO ,Condensed Matter - Materials Science ,02 Physical Sciences ,010304 chemical physics ,tool ,Computational Physics (physics.comp-ph) ,cond-mat.mtrl-sci ,Networking and Information Technology R&D ,Open-source libraries ,Physical Sciences ,CECAM (the European Centre for Atomic and Molecular Calculations) ,Electronic Structure Library (ESL) ,Modular software ,03 Chemical Sciences ,Physics - Computational Physics ,media_common.quotation_subject ,FOS: Physical sciences ,Settore FIS/03 - Fisica della Materia ,electronic structure methods ,0103 physical sciences ,Open source library ,Code (cryptography) ,ddc:530 ,Physical and Theoretical Chemistry ,density-functional theory ,010306 general physics ,long-range interactions ,Informàtica::Arquitectura de computadors [Àrees temàtiques de la UPC] ,density functional theory ,Software engineering ,Chemical Physics ,business.industry ,exchange ,Materials Science (cond-mat.mtrl-sci) ,package ,Modular design ,Modular programming ,Computer hardware architecture ,software scientifico ,Interdependence ,physics.comp-ph ,Paradigm shift ,Chemical Sciences ,Compiler ,Enginyeria de programari ,business ,computer ,Coding (social sciences) - 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., The authors would also like to thank the Psi-k network for having partially funded several of the ESL workshops. A.O., E.A., D.L.-D., S.G., E.K., A.A.M., and M.C.P. received funding from the European Union’s Horizon 2020 research and innovation program under Grant Agreement No. 676531 (Centre of Excellence project E-CAM). The same project has partly funded the extended software development workshops in which most of the ESL coding effort has happened. A.G., S.M., and E.A. acknowledge support from the European Union’s Horizon 2020 research and innovation program under Grant Agreement No. 824143 (Centre of Excellence project MaX). M.A.L.M. acknowledges partial support from the DFG through Project No. MA-6786/1. D.G.A.S. was supported by the U.S. National Science Foundation (NSF) (Grant No. ACI1547580). M.C.P. acknowledges support from the EPSRC under Grant No. EP/P034616/1. A.A.M. acknowledges support from the Thomas Young Centre under Grant No. TYC-101, the Wannier Developers Group, and all of the authors and contributors of the wannier90 code (see Ref. 115 for a complete list). A.M.E. acknowledges support from CoSeC, the Computational Science Centre for Research Communities, through CCP5: The Computer Simulation of Condensed Phases (EPSRC Grant Nos. EP/M022617/1 and EP/P022308/1). A.G. and J.M.S. acknowledge Spain’s Ministry of Science (Grant No. PGC2018-096955-B-C42). E.A., A.G., and J.M.S. acknowledge Spain’s Ministry of Science (Grant No. FIS2015-64886- C5). Y.P., D.L.-D., and E.A. acknowledge support from the Spanish MINECO and EU Structural Investment Funds (Grant No. RTC2016-5681-7). M.L. acknowledges support from the EPRSC under Grant No. EP/M022668/1. M.L., M.J.T.O., and Y.P. acknowledge support from the EU COST action (Grant No. MP1306). J.M. was supported by the European Regional Development Fund (ERDF), project CEDAMNF (Reg. No. CZ.02.1.01/0.0/0.0/15-003/0000358). V.W.-Z.Y., W.P.H., Y.L., and V.B. acknowledge support from the National Science Foundation under Award No. ACI-1450280 (the ELSI project). V.W.-Z.Y. also acknowledges a MolSSI fellowship (NSF Award No. ACI-1547580). Simune Atomistics S.L. is thanked for allowing A.H.L. and Y.P. to contribute to the ESL, as is Synopsys, Inc., for the partial availability of F.C.
- Published
- 2020
- Full Text
- View/download PDF