30 June 2020

CP2K Webinar - Highlights and Insights



Last 24th of June, the 4th webinar of the MAX series on Flagship codes entitled “HPC libraries for CP2K and other electronic structure codes” was held. The webinar was aimed at providing an exhaustive and accurate overview of the HPC libraries developed at CSCS, such as (1) DBCSR, (2) COSMA, (3) SpFFT and (4) SIRIUS, in order to accelerate electronic structure code like CP2K and Quantum ESPRESSO.

With a rapid increase in simulation resolution and precision in fields like quantum chemistry, solid-state physics, medicine, and machine learning, fast parallel algorithms are becoming essential for the efficient utilization of powerful, GPU-accelerated supercomputers. A huge amount of numerical operations are being used by HPC programmers and they need to know the existence of specifically developed numerical libraries that will help them in dealing with programs’ performance problems. This webinar was significantly relevant and comprehensive providing:

  • An overview of HPC problems arising from large scale electronic structure calculations within localised basis (CP2K) and plane-wave basis (Quantum ESPRESSO),
  • A chance to discover more about HPC libraries, which help to accelerate electronic structure code, such as CP2K and Quantum ESPRESSO, and
  • An opportunity to collaborate with the developers of the HPC libraries within the MaX flagship code.

 

The webinar was moderated by Anton Kozhenikov,  a computational scientist leading the Scientific Software and Libraries (SSL) Unit at the CSCS, who presented a short outline of the topic and motivations of materials science codes at CSCS helping the community in porting scientific applications to novel architectures. He also presented the SIRIUS libraries, its full-potential and pseudopotential domain-specific library for DFT calculations.

The first key speaker was Shoshana Jakobovits, a software engineer in the SSL Unit at CSCS focusing her work on DBCSR libraries for the past 2 years, who provided in-depth information about the DBCSR library for sparse matrix-matrix multiplication and how DBCSR interacts with CP2K.

The second speaker was Marko Kabic, a software engineer at CSCS leading the development of the COSMA algorithm for matrix multiplication, who provided more detailed knowledge about the COSMA library for dense matrix-matrix multiplication.

The third presentation was given by Simon Frasch, who has been working on libraries in the computational material science domain, focusing on code modularization and enabling the use of heterogeneous hardware, who presented the SpFFT library for the large scale distributed FFT and its implementation for HPC.

 

The CP2K Webinar takeaway

The MaX webinar on CP2K code aimed to gathered developers and advanced users of electronic structure codes. The event managed to accrue a total of 80 attendees out of 126 registered participants who actively engaged and raised 21 live questions. Participants came from 19 countries: 11 EU Member States and 8 Non-EU/global. For the EU, Italy was by far the most represented country, followed by Switzerland, Germany, the United Kingdom and Belgium.

During the webinar, some live poll-questions were posed to the audience to better understand the participants' average engagement and familiarity with both CP2K code and HPC libraries. The following charts display the main outcomes pulled out from the surveys (responses came from 56 out of 80 attendees).

The majority of the webinar attendees are more code users rather than developers as shown on the poll question 1 and 2 results below. Most of the attendees are using GPU-accelerated codes in their research (39%), some are occasional users (29%) and some are not using it but interested in HPC libraries (32%) – poll question 1.

The majority of the attendees were interested in the scientific results (38%), HPC (26%) and some are interested in both HPC and scientific results (36%) (information from poll question 3).

Webinar Takeaways

The speakers provided some technical insights and opportunities for you:

  • CSCS is developing libraries such as DBCSR, COSMA, SpFFT and SIRIUS that will help the scientific community in porting scientific codes to GPUs and fully utilize all available supercomputer resources such as local memory, network bandwidth. The unprecedented power of contemporary accelerators on machines with tens of thousands of compute nodes, optimizations on all levels (from algorithmic to implementation) is necessary.
  • The DBCSR library is available a standalone, easy to use and install, and actively developed in Github and well documented by Shoshana and the Scientific Software and Libraries (SSL) Unit at the CSCS. Also, DBCSR delivers automatically with any CP2K installation, so if you’re running CP2K, you’re also running DBCSR. DBCSR is a library designed to efficiently perform sparse matrix-matrix multiplication, among other operations. It is MPI and OpenMP parallel and can exploit Nvidia and AMD GPUs via CUDA and HIP. The library is open-source (GPL v2.0) and is freely available.

https://github.com/cp2k/dbcsr

  • The team has put a large effort into making the COSMA library as easy to use as possible. The current version is available as an open-source project on Github under the BDS-3 license and is Spack-installable. It supports arbitrary initial and final data layouts, handles all data types, offers transposition flags, and provides full support for ScaLAPACK API. Therefore, the end-user can apply optimal communication, highly-efficient COSMA library seamlessly to any ScaLAPACK-aided application without any change in the code, only linking to the COSMA library.

https://github.com/eth-cscs/COSMA

  • SpFFT is a 3D FFT library for sparse frequency domain data written in C++ with support for MPI, OpenMP, CUDA, and ROCm. It was originally intended for transforming data with a spherical cut-off in the frequency domain, as required by some computational materials science codes. For distributed computations, SpFFT uses a slab decomposition in the space domain and pencil decomposition in the frequency domain (all sparse data within a pencil must be on one rank). The library is open-source (BSD 3-clause licence) and is freely available.

https://github.com/eth-cscs/SpFFT

  • SIRIUS is a domain-specific library for electronic structure calculations organised as a collection of C++ classes that abstract away the different building blocks of a plane wave (PW) and linearized augmented plane wave (LAPW). SIRIUS is used in production at CSCS to enable Quantum ESPRESSO on GPUs. SIRIUS is written in C++11 with MPI, OpenMP and CUDA/ROCm programming models. SIRIUS is organised as a collection of classes that abstract away the different building blocks of the DFT self-consistency cycle. The library is open-source (BSD 2-clause licence) and is freely available.

https://github.com/electronic-structure/SIRIUS

Several open-source materials science domain-specific libraries have been developed within MAX. To learn more about the MaX libraries you can visit MaX Libraries.

If you missed it, click here to watch the recorded webinar and download the speakers’ slides.