<span class="var-sub_title">User-Directed Loop-Transformations in Clang</span> SC18 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

LLVM-HPC2018: The Fifth Workshop on the LLVM Compiler Infrastructure in HPC


User-Directed Loop-Transformations in Clang

Authors: Michael Kruse (Argonne National Laboratory, Argonne Leadership Computing Facility)

Abstract: Directives for the compiler such as pragmas can help programmers to separate an algorithm's semantics from its optimization. This keeps the code understandable and easier to optimize for different platforms. Simple transformations such as loop unrolling are already implemented in most mainstream compilers.

We recently submitted a proposal to add generalized loop transformations to the OpenMP standard. We are also working on an implementation in LLVM/Clang/Polly to show its feasibility and usefulness. The current prototype allows applying patterns common to matrix-matrix multiplication optimizations.


Archive Materials


Back to LLVM-HPC2018: The Fifth Workshop on the LLVM Compiler Infrastructure in HPC Archive Listing

Back to Full Workshop Archive Listing