SNIC SUPR
Development of the Chunks and Tasks model and runtime library implementations with applications in electronic structure calculations
Dnr:

SNIC 2019/3-253

Type:

SNIC Medium Compute

Principal Investigator:

Emanuel Rubensson

Affiliation:

Uppsala universitet

Start Date:

2019-04-30

End Date:

2020-05-01

Primary Classification:

10105: Computational Mathematics

Secondary Classification:

10205: Software Engineering

Tertiary Classification:

10407: Theoretical Chemistry

Allocation

Abstract

The goal of this project is to extend our work on the Chunks and Tasks parallel programming model and apply it to massively parallel calculations. See our articles http://dx.doi.org/10.1016/j.parco.2013.09.006 and http://dx.doi.org/10.1016/j.parco.2016.06.005 that were published in Parallel Computing. The project regards the development of the Chunks and Tasks programming model for parallel implementation of methods that require dynamic distribution of both work and data. Such methods are difficult to implement using standard languages or libraries such as MPI that leave it to the user to provide the distribution of both work and data. In an application program that uses the Chunks and Tasks programming model, the user defines the algorithm in terms of chunks and tasks without specifying where the work should be performed or how the data should be distributed. Our pilot C++ Chunks and Tasks runtime library implementation uses MPI and pthreads to distribute work and data of Chunks and Tasks application programs on clusters of multicore machines. This project will be used for development and evaluation of the Chunks and Tasks model and runtime library implementations as well as for our ongoing work on distributed-memory parallelization of the Ergo quantum chemistry code (http://ergoscf.org) using Chunks and Tasks. Since the Chunks and Tasks model is intended to work well for massively parallel calculations and our main target application (linear scaling electronic structure calculations with the Ergo program) motivates very large calculations, we need to carry out real calculations on as many nodes as possible. Regarding previous resource usage, it has been varying. This is partially due to the fact that three of the members of the project have been on leave in different periods and partially due to the development character of our project with less homogeneous usage of resources.