Parallel and HPC numerical libraries

Numerical Linear Algebra (NLA) libraries are at the core of many computations carried on in codes developed by domain scientists in Condensed Matter Phyisics, Quantum Chemistry and Materials Science in general.

While having a large variety of distinct functionalities, many Materials Science codes are based on a relatively small number of fundamental operations which translate into costly numerical linear algebra computations. Often the computations involve complex-valued matrices or even tensors that are either dense or sparse with a few dense blocks. In both cases, their size grows linearly with the size of the degrees of freedom N of the system. Many computational MS tasks correspond to dense linear algebra algorithms with a cubic complexity---i.e. the number of operations to perform is O(N3). Due to the high ratio of computations per data, the ability of simulating systems with large N presupposes the capability to scale the computation on the largest computing cluster possible.

Currently, the leading concept on the path to exascale is Modular Supercomputing Architecture (MSA). An MSA computing system would feature different types of processors (multi-core, GPU accelerator, many-core, neuromorphic, etc.) that facilitate distinct concurrency levels. All these heterogeneous components can be seen as a pool of resources an optimized algorithm can leverage in order to maximize scalability and parallel efficiency. At the same time, the mathematical models behind most of the methods used to simulate materials present a very rich framework both in terms of data structure, mathematical symmetries, and numerical properties of the solutions, which is hardly exploited. This extra knowledge is available and can be used to influence the selection and the performance of the linear algebra algorithms. Such knowledge is domain-specific which, in turn, implies that its utilization requires a truly interdisciplinary approach involving close collaboration between computational physicists, applied mathematicians, and computer scientists.

In SDL Quantum Materials we focused mostly (but not exclusively) on eigenvalue solvers. We developed the ChASE library that solves Hermitian dense eigenvalue problems using an iterative algorithm which scales quite well on a number of architectures and is particularly suited to exploit knowledge coming from all-electron codes. A typical example of scaling, called weak scaling, can be seen below; as the number of computing nodes used grows, the size of the eigenproblem solved increases accordingly, so as to maintain the number of operations per node constant.

Last Modified: 14.11.2024