As part of our research, we design and implement parallel programming tools, which we make freely available under open-source licenses.
DiscoPoP helps software developers parallelize their programs with threads. It discovers potential parallelism in a sequential program and makes recommendations on how to exploit it using OpenMP. Parallelism in a computer program is the ability to run it faster by using more than one processor at the same time. This becomes particularly relevant when there are no other optimization options left such as using a faster processor or algorithm. Given that technical constraints, in particular power consumption, limit the speed of individual processors, parallelism is a powerful instrument to boost performance.
Extra-P helps developers analyze the scaling behavior of parallel programs. For this purpose, it learns performance models automatically from a small set of performance measurements. A performance model is a formula that expresses a performance metric of interest such as execution time as a function of one or more execution parameters such as the size of the input problem or the number of processors.
Extra-P can plot performance models for different parts of the program.
The development of Extra-P is carried out in the framework of the Virtual Institute – High Productivity Supercomputing, a community organization for the development and promotion of programming tools designed for high-performance computing.