2018
DOI: 10.1007/978-3-319-98521-3_3
|View full text |Cite
|
Sign up to set email alerts
|

A Proposal for Loop-Transformation Pragmas

Abstract: Pragmas for loop transformations, such as unrolling, are implemented in most mainstream compilers. They are used by application programmers because of their ease of use compared to directly modifying the source code of the relevant loops. We propose additional pragmas for common loop transformations that go far beyond the transformations today's compilers provide and should make most source rewriting for the sake of loop optimization unnecessary. To encourage compilers to implement these pragmas, and to avoid … Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
15
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
4
2
1

Relationship

4
3

Authors

Journals

citations
Cited by 8 publications
(15 citation statements)
references
References 15 publications
0
15
0
Order By: Relevance
“…Similar frameworks include Tiramisu [3], CHiLL [5], and for graph algorithms GraphIt [25]. Some frameworks also use C's pragmas and other annotations to create DSLs for manual loop optimisations [8,11,13]. None of these, however, provides neither the same flexibility nor do they allow to decompose existing efficient library routines into reusable components.…”
Section: Related Workmentioning
confidence: 99%
“…Similar frameworks include Tiramisu [3], CHiLL [5], and for graph algorithms GraphIt [25]. Some frameworks also use C's pragmas and other annotations to create DSLs for manual loop optimisations [8,11,13]. None of these, however, provides neither the same flexibility nor do they allow to decompose existing efficient library routines into reusable components.…”
Section: Related Workmentioning
confidence: 99%
“…In contrast to our solution which requires a compiler extension, these are compatible with any compiler. Because of this lack of portability, we are working on standardizing loop transformation as part of OpenMP [7]. Unrolling and tiling will be part of OpenMP 5.1, with more intended to be added in OpenMP 6.0.…”
Section: Related Workmentioning
confidence: 99%
“…Baghdadi et al proposed Tiramisu a polyhedral compiler that introduces novel commands to explicitly target distributed systems. More recently, Kruse et al submitted a proposal to improve pragma-based transformations in Clang [29]. All these tools expose some scheduling-based language to specify program transformations applicable to loops.…”
Section: Related Workmentioning
confidence: 99%