Integration of ESL modules into electronic-structure codes

February 17 - February 28, 2020 CECAM-HQ-EPFL, Lausanne, Switzerland

Emilio Artacho University of Basque Country, United Kingdom

Volker Blum Duke University, Durham, USA

Fabiano Corsetti Synopsys QuantumWise, Denmark

Nick R. Papior Technical University of Denmark, Denmark

Yann Pouillon Universidad de Cantabria, Spain

Micael Oliveira MPI for the Structure and Dynamics of Matter, Hamburg, Germany

1 Description

The evolutionary pressure on electronic structure software development is greatly increasing, due to the emergence of new paradigms, new kinds of users, new processes, and new tools. Electronic structure software complexity is consequently also increasing, requiring a larger effort on code maintenance. Developers of large electronic structure codes are trying to relieve some complexity by transitioning standardized algorithms into separate libraries [BigDFT-PSolver, ELPA, ELSI, LibXC, LibGridXC, etc.]. This paradigm shift requires library developers to have a hybrid developer profile where the scientific and computational skill set becomes equally important. These topics have been extensively and publicly discussed between developers of various projects including ABINIT, ASE, ATK, BigDFT, CASTEP, FHI-aims, GPAW, Octopus, Quantum Espresso, SIESTA, and SPR- KKR. High-quality standardized libraries are not only a highly challenging effort lying at the hands of the library developers, they also open possibilities for codes to take advantage of a standard way to access commonly used algorithms. Integration of these libraries, however, requires a significant initial effort that is often sacrificed for new developments that often not even reach the mainstream branch of the code. Additionally, there are multiple challenges in adopting new libraries which have their roots in a variety of issues: installation, data structures, physical units and parallelism - all of which are code-dependent. On the other hand, adoption of common libraries ensures the immediate propagation of improvements within the respective library’s field of research and ensures codes are up-to-date with much less effort [LibXC]. Indeed, well-established libraries can have a huge impact on multiple scientific communities at once [PETSc]. In the Electronic Structure community, two issues are emerging. Libraries are being developed [esl, esl-gitlab] but require an ongoing commitment from the community with respect to sharing the maintenance and development effort. Secondly, existing codes will benefit from libraries by adopting their use. Both issues are mainly governed by the exposure of the libraries and the availability of library core developers, which are typically researchers pressured by publication deliverables and fund-raising burdens. They are thus not able to commit a large fraction of their time to software development. An effort to allow code developers to make use of, and develop, shared components is needed. This requires an efficient coordination between various elements: - A common and consistent code development infrastructure/education in terms of compilation, installation, testing and documentation. - How to use and integrate already published libraries into existing projects.- Creating long-lasting synergies between developers to reach a “critical mass” of component contributors. - Relevant quality metrics ("TRLs" and “SRLs”), to provide businesses with useful information. This is what the Electronic Structure Library (ESL)[esl, esl-gitlab] has been doing since 2014, with a wiki, a data-exchange standard, refactoring code of global interest into integrated modules, and regularly organizing workshops, within a wider movement lead by the European eXtreme Data and Computing Initiative [exdci].

Key References

[BigDFT-PSolver] http://bigdft.org/Wiki/index.php?title=The_Solver_Package [ELPA] https://gitlab.mpcdf.mgp.de/elpa/elpa [ELSI] http://elsi-interchange.org [LibXC] http://www.tddft.org/programs/libxc/ [LibGridXC] https://launchpad.net/libgridxc [PETSc] https://www.mcs.anl.gov/petsc/ [esl] http://esl.cecam.org/ [esl-gitlab] http://gitlab.e-cam2020.eu/esl [exdci] https://exdci.eu/newsroom/press-releases/exdci-towards-common-hpc-strategy-europe

Page 3 of 8.

2 Program

Day 1 - Monday February 17, 2020

State of the ESL • 8:30 to 8:45 - Registration & welcome

• 8:45 to 9:40 - Presentation of the ESL

• 9:40 to 10:00 - Presentation - Miguel Marques Libxc (remote talk)

• 10:00 to 10:20 - Presentation - Alberto Garcia The libgridxc and libpsml libraries: current status and perspectives

• 10:20 to 10:50 - Coffee Break

• 10:50 to 11:10 - Presentation - Stefano de Gironcoli Esdw_drivers

• 11:10 to 11:30 - Presentation - Martin Lueders The electronic structure common data format (escdf)

• 11:30 to 11:50 - Presentation - Damien Caliste Latest developments in psolver and futile libraries

• 11:50 to 12:10 - Presentation - Arash A. Mostofi Wannier90: new features and future directions

• 12:10 to 12:30 - Presentation - Nick R. Papior Flook a lua - hook (remote talk)

• 12:30 to 14:00 - Lunch

Collaborations • 14:00 to 14:20 - Presentation - Alan O'Cais E-cam - what next?

• 14:20 to 14:40 - Presentation - Volker Blum Elsi si2-ssi

• 14:40 to 15:00 - Presentation - Paul Saxe Molssi: an update and future plans

• 15:00 to 15:20 - Presentation - Layla Martin-Samos Colomer Psi-k

Page 4 of 8.

Inter-package communications • 15:20 to 16:00 - Discussion

• 16:00 to 16:30 - Coffee Break

• 16:30 to 17:00 - Discussion

State of the ESL (cont.) • 17:00 to 17:20 - Presentation - Victor Yu An open infrastructure for high-performance electronic structure solvers: the elsi project (remote talk)

• 19:30 to 22:30 - Social Dinner

Day 2 - Tuesday February 18, 2020

Future of the esl • 9:30 to 10:30 - Discussion

• 10:30 to 11:00 - Coffee Break

• 11:00 to 12:30 - Discussion

• 12:30 to 14:00 - Lunch

Coding sessions planning • 14:30 to 15:00 - Coding sessions objectives

• 15:00 to 15:30 - ESL Demonstrator: learnings from implementing libraries into a self-contained electronic structure program

• 15:30 to 16:00 - Coffee Break

16:00 to 18:00 - Planning of coding sessions

Page 5 of 8.

3 Participant list

Organizers

Artacho, Emilio University of Basque Country, United Kingdom Blum, Volker Duke University, Durham, USA Corsetti, Fabiano Synopsys QuantumWise, Denmark Oliveira, Micael Max Planck Institute for the Structure and Dynamics of Matter, Hamburg, Germany Papior, Nick R. Technical University of Denmark, Denmark Pouillon, Yann Simune Atomistics, Spain

Bálint, Aradi - University of Bremen, Germany Caliste, Damien - CEA, Grenoble, France de Gironcoli, Stefano - International School for Advanced Studies (SISSA), Trieste, Italy Elena, Alin - Daresbury Laboratory, United Kingdom Garcia, Alberto - Institute of Materials Science, Barcelona, Spain Hourahine, Benjamin - University of Strathclyde, United Kingdom Kokott, Sebastian - Fritz-Haber-Instittut Berlin, Germany Lopez-Tarifa, Pablo - Netherlands eScience Center, The Netherlands Lueders, Martin - Max Planck Institute for the Structure and Dynamics of Matter, Germany Marques, Miguel - Martin-Luther-Universität Halle-Wittenberg, Germany Martin-Samos Colomer, Layla - University of Nova Gorica, Slovenia Mortensen, Jens Jørgen - Technical University of Denmark, Denmark Mostofi, Arash A. - Imperial College London, United Kingdom O'Cais, Alan - Jülich Supercomputing Centre, Germany Ratcliff, Laura - Imperial College London, United Kingdom Saxe, Paul – MolSSI, Virginia Tech, USA Yu, Victor - Duke University, USA

Page 6 of 8.

4 Additional information

WIFI code during your event: SSID: PUBLIC-EPFL Website: Enclair.epfl.ch Username: x-cecamguest Password: timhid98

CECAM Website for this workshop: https://www.cecam.org/workshop-details/85

Page 7 of 8.

5 Notes

Page 8 of 8.