Towards an achievable performance for the loop nests

Aniket Shivam, Neftali Watkinson, Alexandru Nicolau, David Padua, Alexander V. Veidenbaum

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Numerous code optimization techniques, including loop nest optimizations, have been developed over the last four decades. Loop optimization techniques transform loop nests to improve the performance of the code on a target architecture, including exposing parallelism. Finding and evaluating an optimal, semantic-preserving sequence of transformations is a complex problem. The sequence is guided using heuristics and/or analytical models and there is no way of knowing how close it gets to optimal performance or if there is any headroom for improvement. This paper makes two contributions. First, it uses a comparative analysis of loop optimizations/transformations across multiple compilers to determine how much headroom may exist for each compiler. And second, it presents an approach to characterize the loop nests based on their hardware performance counter values and a Machine Learning approach that predicts which compiler will generate the fastest code for a loop nest. The prediction is made for both auto-vectorized, serial compilation and for auto-parallelization. The results show that the headroom for state-of-the-art compilers ranges from 1.10x to 1.42x for the serial code and from 1.30x to 1.71x for the auto-parallelized code. These results are based on the Machine Learning predictions.

Original languageEnglish (US)
Title of host publicationLanguages and Compilers for Parallel Computing - 31st International Workshop, LCPC 2018, Revised Selected Papers
EditorsMary Hall, Hari Sundar
PublisherSpringer
Pages70-77
Number of pages8
ISBN (Print)9783030346263
DOIs
StatePublished - 2019
Event31st International Workshop on Languages and Compilers for Parallel Computing, LCPC 2018 - Salt Lake City, United States
Duration: Oct 9 2018Oct 11 2018

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume11882 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference31st International Workshop on Languages and Compilers for Parallel Computing, LCPC 2018
Country/TerritoryUnited States
CitySalt Lake City
Period10/9/1810/11/18

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Towards an achievable performance for the loop nests'. Together they form a unique fingerprint.

Cite this