Improving Loop Dependence Analysis

Nicklas Bo Jensen, Sven Karlsson

Research output: Contribution to journalJournal articleResearchpeer-review

Abstract

Programmers can no longer depend on new processors to have significantly improved single-thread performance. Instead, gains have to come from other sources such as the compiler and its optimization passes. Advanced passes make use of information on the dependencies related to loops. We improve the quality of that information by reusing the information given by the programmer for parallelization. We have implemented a prototype based on GCC into which we also add a new optimization pass. Our approach improves the amount of correctly classified dependencies resulting in 46% average improvement in single-thread performance for kernel benchmarks compared to GCC 6.1.
Original languageEnglish
JournalACM Transactions on Architecture and Code Optimization
Volume14
Issue number3
Pages (from-to)1-24
Number of pages24
ISSN1544-3566
DOIs
Publication statusPublished - 2017

Cite this

Jensen, Nicklas Bo ; Karlsson, Sven . / Improving Loop Dependence Analysis. In: ACM Transactions on Architecture and Code Optimization. 2017 ; Vol. 14, No. 3. pp. 1-24.
@article{dfdba250f6de47dda95e8f3451d5fd4c,
title = "Improving Loop Dependence Analysis",
abstract = "Programmers can no longer depend on new processors to have significantly improved single-thread performance. Instead, gains have to come from other sources such as the compiler and its optimization passes. Advanced passes make use of information on the dependencies related to loops. We improve the quality of that information by reusing the information given by the programmer for parallelization. We have implemented a prototype based on GCC into which we also add a new optimization pass. Our approach improves the amount of correctly classified dependencies resulting in 46{\%} average improvement in single-thread performance for kernel benchmarks compared to GCC 6.1.",
author = "Jensen, {Nicklas Bo} and Sven Karlsson",
year = "2017",
doi = "10.1145/3095754",
language = "English",
volume = "14",
pages = "1--24",
journal = "ACM Transactions on Architecture and Code Optimization",
issn = "1544-3566",
publisher = "Association for Computing Machinery",
number = "3",

}

Improving Loop Dependence Analysis. / Jensen, Nicklas Bo; Karlsson, Sven .

In: ACM Transactions on Architecture and Code Optimization, Vol. 14, No. 3, 2017, p. 1-24.

Research output: Contribution to journalJournal articleResearchpeer-review

TY - JOUR

T1 - Improving Loop Dependence Analysis

AU - Jensen, Nicklas Bo

AU - Karlsson, Sven

PY - 2017

Y1 - 2017

N2 - Programmers can no longer depend on new processors to have significantly improved single-thread performance. Instead, gains have to come from other sources such as the compiler and its optimization passes. Advanced passes make use of information on the dependencies related to loops. We improve the quality of that information by reusing the information given by the programmer for parallelization. We have implemented a prototype based on GCC into which we also add a new optimization pass. Our approach improves the amount of correctly classified dependencies resulting in 46% average improvement in single-thread performance for kernel benchmarks compared to GCC 6.1.

AB - Programmers can no longer depend on new processors to have significantly improved single-thread performance. Instead, gains have to come from other sources such as the compiler and its optimization passes. Advanced passes make use of information on the dependencies related to loops. We improve the quality of that information by reusing the information given by the programmer for parallelization. We have implemented a prototype based on GCC into which we also add a new optimization pass. Our approach improves the amount of correctly classified dependencies resulting in 46% average improvement in single-thread performance for kernel benchmarks compared to GCC 6.1.

U2 - 10.1145/3095754

DO - 10.1145/3095754

M3 - Journal article

VL - 14

SP - 1

EP - 24

JO - ACM Transactions on Architecture and Code Optimization

JF - ACM Transactions on Architecture and Code Optimization

SN - 1544-3566

IS - 3

ER -