Design and Use of Loop-Transformation Pragmas

10/06/2019
by   Michael Kruse, et al.
0

Adding a pragma directive into the source code is arguably easier than rewriting it, for instance for loop unrolling. Moreover, if the application is maintained for multiple platforms, their difference in performance characteristics may require different code transformations. Code transformation directives allow replacing the directives depending on the platform, i.e. separation of code semantics and its performance optimization. In this paper, we explore the design space (syntax and semantics) of adding such directive into a future OpenMP specification. Using a prototype implementation in Clang, we demonstrate the usefulness of such directives on a few benchmarks.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/01/2018

User-Directed Loop-Transformations in Clang

Directives for the compiler such as pragmas can help programmers to sepa...
research
07/16/2021

Loop Transformations using Clang's Abstract Syntax Tree

OpenMP 5.1 introduced the first loop nest transformation directives unro...
research
09/28/2022

Visualizing the Scripts of Data Wrangling with SOMNUS

Data workers use various scripting languages for data transformation, su...
research
05/09/2018

A Proposal for Loop-Transformation Pragmas

Pragmas for loop transformations, such as unrolling, are implemented in ...
research
11/14/2018

A Performance Vocabulary for Affine Loop Transformations

Modern polyhedral compilers excel at aggressively optimizing codes with ...
research
01/25/2017

Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural Code

The current trends in next-generation exascale systems go towards integr...
research
09/28/2022

Revealing the Semantics of Data Wrangling Scripts With COMANTICS

Data workers usually seek to understand the semantics of data wrangling ...

Please sign up or login with your details

Forgot password? Click here to reset