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 - fortran 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.