Scientific report on the CECAM/Psi-K workshop “Electronic Structure Library coding workshop: ESL Demonstrator”

CECAM-HQ-EPFL, Lausanne, Switzerland, February 5-16, 2018

Organizers: Yann Pouillon (University of Cantabria, Spain), Micael Oliveira (Max Planck Institute for the Structure and Dynamics of Matter, Hamburg, Germany), Emilio Artacho (Cavendish Laboratory, University of Cambridge, United Kingdom), Volker Blum (Duke University, Durham, NC, USA), Mike Payne (University of Cambridge, United Kingdom), Fabiano Corsetti (Synopsys QuantumWise, Denmark)

Sponsors: CECAM and Psi-k


In 2014 the CECAM Electronic Structure Library (ESL) project was launched with the idea of fostering a new paradigm of library-based development for electronic structure. The aim of project is to create a common online repository of high-quality software libraries, programming interfaces and data standards in the field of electronic structure, which will facilitate reuse of code, interoperability between different code bases, rapid and efficient evolution to new computer architectures, and development of new methodologies.

The ESL aims to be a community-driven project which anyone can contribute to, with regular hands-on workshops being held to encourage developers to get involved in working on individual libraries and contributing to the ESL website, and to form collaborations between different code bases. The overarching strategy and direction of the ESL is also discussed and decided upon at these workshops, coordinated by a core group of organizers.

The main objective of this coding workshop was to write a simple DFT code from scratch using as many software libraries from the CECAM Electronic Structure Library as possible and without having to implement any complex numerical routines. Such demonstrator code will provide powerful, non-trivial examples of how the ESL libraries can be used by existing electronic structure codes. It will also provide a platform to test the performance and usability of the libraries in an environment as close as possible to real-life situations.


The workshop was divided in two parts: one day and a half dedicated to initial discussions between the coding team and other invited stakeholders, followed by a 12 days coding effort by a smaller team of experienced developers.

After surveying the software libraries that are currently part of the ESL and the know-how of the participants, it was decided to write a demonstrator code capable of performing calculations using two types of basis sets: plane-waves and atom-centred atomic orbitals. These two types of basis-sets require different numerical methods to solve the Kohn-Sham equations and pose very diverse challenges. The writing of this demonstrator code was successful and it is accessible through the E-CAM gitlab.

A second topic addressed during the workshop was the distribution of the ESL software libraries. Three distribution channels targeting different types of users have been chosen:

  1. Packages for the more popular Linux distributions, providing a simple and straightforward way for users who are not experts in compiling complex pieces of software and their dependencies to have a working version of the libraries installed on their personal computers.

  2. Specifications to integrate the ESL libraries into the EasyBuild framework, which is a powerful and efficient software manager for HPC systems.

  3. The ESL bundle, incorporating all the ESL libraries into a single package and using a unified framework for compilation and installation. This targets users who wish to compile and install the libraries themselves.

Distribution channels 1. and 2. are already at least partially covered, so it was decided to focus efforts on the ESL bundle. The JHBUILD framework was chosen for compilation and installation and a dedicated project was created on the E-CAM gitlab.

The participants also engaged in extensive discussions regarding the future of the CECAM ESL. The writing of the demonstrator code highlighted tasks and topics not covered by the existing ESL libraries, namely tools for k-point generation, preconditioners for the eigenvalue problem, and mixing of density/potentials during SCF. The presentation of the Molecular Sciences Software Institute by Daniel Smith showed that there are several areas where the two projects can collaborate, like sharing of experiences and best-practices, but also the establishment of common data-standards and cooperation in software development.


Day 1 – Monday February 5, 2018

State of the CECAM ESL

  • 9:00 to 9:15 – Welcome and Introduction
  • 9:15 to 10:30 – Presentation
  • 10:30 to 11:00 – Coffee Break

Demonstrator codes

  • 11:00 to 12:30 – Discussion
  • 12:30 to 14:00 – Lunch
  • 14:00 to 16:00 – Discussion
  • 16:00 to 16:30 – Coffee Break
  • 16:30 to 18:00 – Discussion

Conference dinner

  • 19:30 to 21:30 – Dinner

Day 2 – Tuesday February 6, 2018

ESL future

  • 9:00 to 10:30 – Discussion
  • 10:30 to 11:00 – Coffee Break
  • 11:00 to 12:30 – Discussion
  • 12:30 to 14:00 – Lunch

Coding week plan

  • 14:00 to 16:00 – Discussion
  • 16:00 to 16:30 – Coffee Break
  • 16:30 to 18:00 – Discussion

Days 3 to 12 – Wednesday February 7-16, 2018

Coding sessions

9:00 to 17:00 – Coding sessions


  • Emilio Artacho, Cavendish Laboratory, University of Cambridge, United Kingdom
  • Volker Blum, Duke University, Durham, NC, USA, USA
  • Fabiano Corsetti,  Synopsys QuantumWise, Denmark
  • Micael Oliveira, Max Planck Institute for the Structure and Dynamics of Matter, Hamburg, Germany
  • Mike Payne, University of Cambridge, United Kingdom
  • Yann Pouillon, University of Cantabria, Spain
  • Damien Caliste, Alternative Energies and Atomic Energy Commission (CEA), France
  • Stefano de Gironcoli,  International School for Advanced Studies (SISSA) and CNR-DEMOCRITOS IOM, Trieste, Italy
  • Alin Marin Elena, Daresbury Laboratory, United Kingdom
  • Alberto Garcia, Institute of Materials Science, Barcelona, Spain
  • Alfio Lazzaro, University of Zurich, Switzerland
  • Yingzhou Li, Duke University, USA
  • David López Durán, CIC Nanogune, Tolosa Hiribidea 76., Spain
  • Martin Lueders, Daresbury Laboratory, United Kingdom
  • Alan O’Cais, Jülich Supercomputing Centre, Germany
  • Nick Papior, DTU Nanotech, Denmark
  • Daniel Smith, The Molecular Sciences Software Institute (MolSSI), USA
  • Jose M. Soler, Autonomous University of Madrid, Spain
  • Nicolas Tancogne-Dejean, Max Planck Institute for the Structure and Dynamics of Matter, Hamburg, Germany
  • Marc Torrent, Alternative Energies and Atomic Energy Commission (CEA), Bruyeres-le-Chatel, France
  • Victor Yu, Duke University, USA

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.