Skip to main content
SHARE
Publication

HSLOT: The HERCULES Scriptable Loop Transformations Engine...

by Christos Kartsaklis, Eun Jung Park, John Cavazos
Publication Type
Conference Paper
Publication Date
Conference Name
WOLFHPC: Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing, held in conjunction with SC14: The International Conference for High Performance Computing, Networking, Storage, and Analysis
Conference Location
New Orleans, Louisiana, United States of America
Conference Date
-

HSLOT arms users with a rich set of configurable transformation directives, to be used as-they-are or to be specialized and combined into powerful custom transformations. We offer a plethora of loop transformations, which includes both the classic set (unroll, fuse, fission, tile, and so on) as well as unique ones (specialize, swap nest, split, fork, and so on) that are not found in other state-of-the-art systems. We show how HSLOT enables more transformations such as merging two loops that cannot be fused because of data dependencies and how HSLOT can be used in a simple and systematic fashion to improve memory accesses and expose better parallelism. To use our system, users simply annotate loops with the transformations sequence and compile with our Open64-based HSLOT-implementing Fortran compiler, HSLF90, which produces both object files and optionally source. We describe our experiment results using a set of scientific kernels written in Fortran with HSLOT directives on AMD 32 core system.