30
The CECAM Electronic Structure Library: Past, Present and Future Micael Oliveira 1 and all the ESL contributors 2,3 1 Max Planck Institute for the Structure and Dynamics of Matter, Hamburg, Germany 2 esl.cecam.org 3 gitlab.e-cam2020.eu/esl Richmond, August 15, 2018 M. Oliveira

The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

The CECAM Electronic Structure Library:Past, Present and Future

Micael Oliveira 1 and all the ESL contributors 2,3

1Max Planck Institute for the Structure and Dynamics of Matter, Hamburg, Germany

2esl.cecam.org

3gitlab.e-cam2020.eu/esl

Richmond, August 15, 2018

M. Oliveira

Page 2: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

ESL in a nutshell

M. Oliveira

Page 3: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

CECAM

Founded in 1969

21 member organizations from 12 countries

HQ at EPFL in Lausanne, Switzerland

18 nodes

Promotes fundamental research on advanced computational methodsand their application

Focus on atomistic and molecular simulations, applied to the physicsand chemistry of condensed matter

M. Oliveira

Page 4: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

The “traditional” electronic structure code framework

Code 1

Function A

Function B

Function C

Code 2

Function A

Function B

Function D

Code 3

Function A

Function E

Function F

Duplication of code = Duplication of effort = Wasted time

M. Oliveira

Page 5: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Current electronic structure code developement framework

Code 1

Function C

Library 1

Function A

Library 2

Function B

Code 2

Function A

Function D

Code 3

Function E

Function F

Library 3

Function A

M. Oliveira

Page 6: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

The CECAM Electronic Structure Library

Code 1

Function C

Code 2

Function D

Code 3

Function E

Function F

ESL Bundle

Interface

Library 1

Function A

Library 3

Function A

Library 2

Function B

M. Oliveira

Page 7: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

The CECAM Electronic Structure Library

ESL

Libraries

Data standards

Documentation

Wiki

Workshops

gitlab.e-cam2020.eu/esl esl.cecam.org

M. Oliveira

Page 8: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Past

M. Oliveira

Page 9: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

In the beginning

Want to move beyond hosting workshops and schools and directly support their computational science community exploiting the new satellite structure of CECAM and the resources provided by this structure. One suggestion is that they champion an ‘Open Innovation’ approach to computational science. They are currently discussing this with the EC and asking whether there is an opportunity to bid for funds under the FP7 e-Infrastructure Programme

CECAM

Mike Payne, 2013/14M. Oliveira

Page 10: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

In the beginning

Open Innovation in Software Engineering

Wannier 90 Databases Multiscale

QCa QCb QCc MDa MDb MDb Ca Cb Cb

Middleware Utility Library Architecture Aware

Quantum Classical MD CoarseGrain/Continuum

Computer Architectures

HPC Cluster

Blue Gene

Multi Core

GPGPU

Cell

?

?

Quantum CoarseGrain/Continuum Classical MD

Mike Payne, 2013/14M. Oliveira

Page 11: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Kick-off Workshop (July-August 2014)

Extended software development workshop at CECAM-HQ-EPFL

Organized by Mike Payne, Emilio Artacho and Dominic Tildesley

3 days for discussion + 5 weeks of development

∼ 10 participants

Extensive discussions on:

coding standardsdocumentationlicensesESL organizationetc

Wiki design and initial content

M. Oliveira

Page 12: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Kick-off Workshop (July-August 2014)

Start of new projects and inclusion of existing projects into the ESL:

Libpspio: Parsing and writing of pseudopotentials

Flexible data format (FDF): Input file parser

GridXC: Evaluate XC functionals on a grid

LibOMM: Kohn-Sham equations solver

MatrixSwitch: matrix storage and manipulation low-level routines

M. Oliveira

Page 13: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

ESL requirements, coding standards, and best practices

ESL modules and libraries should be:

Easy to maintain

Easy to use

Recomendations:

C/Fortran programming languages with bindings to other languages

Licenses: LGPL, BSD and/or MPL2

Source code documentation (e.g., Doxygen)

Version control system

Use a standard build system type (e.g., Autotools, CMake)

Provide proper error handling

M. Oliveira

Page 14: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

E-CAM

European Union H2020 Center ofExcellence

e-infrastructure for software, training andconsultancy in simulation and modeling

16 CECAM nodes, 3 PRACE Centres,12 Industrial Partners, and 1 Centre forIndustrial Computing

The ESL was a used as a pilot project for E-CAM

M. Oliveira

Page 15: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

E-CAM

Objectives:

Create over 150 new, robust software modules, directed at industrialand academic users in:

electronic structure calculationsclassical molecular dynamicsquantum dynamicsmesoscale and multi-scale modelling

Training of current and future academic and industrial researchers

Support industrial end-users in their use of simulation and modelling

M. Oliveira

Page 16: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

ESL Workshops

Unique opportunity to bring the electronic structure code developerstogether

Long workshops (1 week or more)

10-20 participants

Divided into discussion and coding sessions

Original format for CECAM workshop!

M. Oliveira

Page 17: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Utilities Toolbox (June 2015)

Second software development workshop at CECAM-HQ-EPFL

1 day for discussion + 4 days of development

∼ 20 participants (12 for the coding sessions)

Some of the explored themes:

Low-level utilities (memory management, error handling, etc)Further steps towards standardization of coding standardsGeometry tools

More projects added:Flook: Fortran-Lua-hook libraryMonteCarloLib: general purpose Monte Carlo libraryFlib: Fortran low level functionalitiesLibcif: tools to read and manipulate CIF files

M. Oliveira

Page 18: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Towards a Common Format for Computational MaterialsScience Data (January 2016)

Workshop co-organized by ESL and NoMaD

3 days of discussion and 8 days of coding

Objectives:

Discuss relevant problems in creating a common data format formaterials scienceSet the specifications for an Electronic Structure Common DataFormat (ESCDF)Start the development of a library to read/write ESCDF files

M. Oliveira

Page 19: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

ESL Coding Workshop: Solvers

Z-CAM, Zaragoza, Spain

6-17 June 2016

1 day of discussion and 10 daysof coding

15 participants

Three themes:

Kohn-Sham solvers: ELSIPoisson solvers: PSolver,POKEAtomic solvers: SQARE

M. Oliveira

Page 20: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

ESL Coding Workshop: Drivers

Trieste, Italy

10-21 July 2017

1 day of discussion and 10 daysof coding

∼10 participants

Iterative eigensolvers

M. Oliveira

Page 21: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Present

M. Oliveira

Page 22: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

ESL Coding Workshop: Demonstrator

CECAM-HQ-EPFL, Lausanne, Switzerland

5-16 February 2018

Write a simple DFT code using the ESL libraries in 10 days

Create an ESL bundle

Improve libraries API, documentation, tests, etc

M. Oliveira

Page 23: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

The ESL bundle

How to make the ESL into more than a loose collection of libraries?

How to tackle dependency hell?

How to make the ESL available to the different types of users:

Software developersHPC centersEnd-users

M. Oliveira

Page 24: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

The ESL bundle

Includes:

Software developed within the ESLOther relevant software distributed with the agreement of the authorsNot readily available dependencies

All modules versions must be compatible

Common installer for easy compilation and installation

Bindings for different programming languages

Documentation

https://gitlab.e-cam2020.eu/esl/esl-bundle

M. Oliveira

Page 25: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

The ESL Demonstrator

Density Functional Theory code to showcase how ESL componentscan be used

A tool to test the ESL modules

NOT meant for production calculations

Based on the ESL bundle

Can use either plane-waves or atomic orbitals

M. Oliveira

Page 26: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Future

M. Oliveira

Page 27: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Challenges

Sustainability: we need more involvement from the electronicstructure community

Wider integration by community codes: figth the “not invented heresyndrome”

Publicize the work done within the ESL

Scalability, optimization, and hardware awareness

Engage more with other projects with similar goals

M. Oliveira

Page 28: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

The ESL bundle

Include more packages

Debian and RPM packages (end-users)

Collection of EasyBuild easyconfigs (HPC)

Add more configuration files

Release schedule:

One minor release every 1-2 months

One major release every 6-12 months

M. Oliveira

Page 29: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Next workshops

E-CAM Extended Software Development Workshop: ScalingElectronic Structure Applications

CECAM-IRL, Dublin, Ireland

7-18 January 2019

Parallelization, scalability, performance

E-CAM Extended Software Development Workshop: Integration

CECAM-HQ, Lausanne, Switzerland

Dates to be announced

Integration of ESL modules with electronic structure codes, bindings,etc

M. Oliveira

Page 30: The CECAM Electronic Structure Library: Past, Present and ... · CECAM and the resources provided by this structure. One suggestion is that they champion an Open Innovation approach

Acknowledgements

Dominic Tildesley, IgnacioPagonabarraga, Sara Bonella and allthe CECAM staff

All the organizers of the ESLworkshops

Fabiano Corsetti, YannPouillon and Nick Papior

NoMaD

All the ESL contributors

M. Oliveira