Back to results

Universität Passau

Iterative Schedule Optimization for Parallelization in the Polyhedron Model

Abstract

dc:description.abstract

In high-performance computing, one primary objective is to exploit the performance that the given target hardware can deliver to the fullest. Compilers that have the ability to automatically optimize programs for a specific target hardware can be highly useful in this context. Iterative (or search-based) compilation requires little or no prior knowledge and can adapt more easily to concrete programs and target hardware than static cost models and heuristics. Thereby, iterative compilation helps in situations in which static heuristics do not reflect the combination of input program and target hardware well. Moreover, iterative compilation may enable the derivation of more accurate cost models and heuristics for optimizing compilers. In this context, the polyhedron model is of help as it provides not only a mathematical representation of programs but, more importantly, a uniform representation of complex sequences of program transformations by schedule functions. The latter facilitates the systematic exploration of the set of legal transformations of a given program. Early approaches to purely iterative schedule optimization in the polyhedron model do not limit their search to schedules that preserve program semantics and, thereby, suffer from the need to explore numbers of illegal schedules. More recent research ensures the legality of program transformations but presumes a sequential rather than a parallel execution of the transformed program. Other approaches do not perform a purely iterative optimization. We propose an approach to iterative schedule optimization for parallelization and tiling in the polyhedron model. Our approach targets loop programs that profit from data locality optimization and coarse-grained loop parallelization. The schedule search space can be explored either randomly or by means of a genetic algorithm. To determine a schedule's profitability, we rely primarily on measuring the transformed code's execution time. While benchmarking is accurate, it increases the time and resource consumption of program optimization tremendously and can even make it impractical. We address this limitation by proposing to learn surrogate models from schedules generated and evaluated in previous runs of the iterative optimization and to replace benchmarking by performance prediction to the extent possible. Our evaluation on the PolyBench 4.1 benchmark set reveals that, in a given setting, iterative schedule optimization yields significantly higher speedups in the execution of the program to be optimized. Surrogate performance models learned from training data that was generated during previous iterative optimizations can reduce the benchmarking effort without strongly impairing the optimization result. A prerequisite for this approach is a sufficient similarity between the training programs and the program to be optimized.

Degree

thesis:*
Level thesis:degree_level
thesis.doctoral
Grantor dc:publisher
Universität Passau
Year
2020

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Ganser, Stefan
Contributors dc:contributor
  • Lengauer, Christian

Rights

dc:rights
Statement dc:rights
  • Standardbedingung laut Einverständniserklärung

Identifiers

dc:identifier.*
OAI identifier oai:identifier
oai:kobv.de-opus4-uni-passau:793

Chain of custody

source
Harvested from
Universität Passau
Base URL
opus4.kobv.de/opus4-uni-passau/oai
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

Ganser, Stefan. Iterative Schedule Optimization for Parallelization in the Polyhedron Model. thesis.doctoral thesis, Universität Passau, 2020. https://opus4.kobv.de/opus4-uni-passau/frontdoor/index/index/docId/793