An Approach for Finding Permutations Quickly: Fusion and Dimension matching

03/28/2018
by   Aravind Acharya, et al.
0

Polyhedral compilers can perform complex loop optimizations that improve parallelism and cache behaviour of loops in the input program. These transformations result in significant performance gains on modern processors which have large compute power and deep memory hierarchies. The paper, "Polyhedral Auto-transformation with No Integer Linear Programming", identifies issues that adversely affect scalability of polyhedral transformation frameworks; in particular the Pluto algorithm. The construction and solving of a complex Integer Linear Programming (ILP) problem increases the time taken by a polyhedral compiler significantly. The paper presents two orthogonal ideas, which together overcome the scalability issues in the affine scheduling problem. It first relaxes the ILP to a Linear Programming (LP) problem, thereby solving a cheaper algorithm. To overcome the sub-optimalities that arise due to this relaxation, the affine scheduling problem is decomposed into following three components: (1) Fusion and dimension matching, (2) Loop scaling and shifting, and (3) Loop skewing. This new auto-transformation framework, pluto-lp-dfp, significantly improves the time taken by the Pluto algorithm without sacrificing performance of the generated code. This report first provides proofs for the theoretical claims made in the paper surrounding relaxed LP formulation of the Pluto algorithm. The second part of the report describes an approach to find good loop fusion (or distribution) and loop permutations that enable tileability. This short report serves as the supplementary material for the paper.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/02/2019

Towards an Achievable Performance for the Loop Nests

Numerous code optimization techniques, including loop nest optimizations...
research
01/15/2019

A linear programming approach to the tracking of partials

A new approach to the tracking of sinusoidal chirps using linear program...
research
11/01/2018

Loop Optimization Framework

The LLVM compiler framework supports a selection of loop transformations...
research
07/28/2021

Dynamic Programming and Linear Programming for Odds Problem

This paper discusses the odds problem, proposed by Bruss in 2000, and it...
research
01/26/2018

Improved Finite Blocklength Converses for Slepian-Wolf Coding via Linear Programming

A new finite blocklength converse for the Slepian- Wolf coding problem i...
research
11/14/2018

A Performance Vocabulary for Affine Loop Transformations

Modern polyhedral compilers excel at aggressively optimizing codes with ...
research
08/04/2023

Automatic multi-dimensional pipelining for high-level synthesis of dataflow accelerators

In recent years, there has been a surging demand for edge computing of i...

Please sign up or login with your details

Forgot password? Click here to reset