Alpinist: An Annotation-Aware GPU Program Optimizer

Ömer Şakar, Mohsen Safari, Marieke Huisman, Anton Wijs

Research output: Chapter in Book/Report/Conference proceedingChapterAcademicpeer-review

6 Citations (Scopus)
117 Downloads (Pure)

Abstract

GPU programs are widely used in industry. To obtain the best performance, a typical development process involves the manual or semi-automatic application of optimizations prior to compiling the code. To avoid the introduction of errors, we can augment GPU programs with (pre- and postcondition-style) annotations to capture functional properties. However, keeping these annotations correct when optimizing GPU programs is labor-intensive and error-prone.

This paper introduces ALPINIST, an annotation-aware GPU program optimizer. It applies frequently-used GPU optimizations, but besides transforming code, it also transforms the annotations. We evaluate ALPINIST, in combination with the VerCors program verifier, to automatically optimize a collection of verified programs and reverify them.
Original languageEnglish
Title of host publicationTools and Algorithms for the Construction and Analysis of Systems
Subtitle of host publication28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2–7, 2022, Proceedings, Part II
EditorsDana Fisman, Grigore Rosu
Place of PublicationCham
PublisherSpringer
Pages332–352
Number of pages21
ISBN (Electronic)978-3-030-99527-0
ISBN (Print)978-3-030-99526-3
DOIs
Publication statusPublished - 2022

Publication series

NameLecture Notes in Computer Science
PublisherSpringer
Volume13244
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Keywords

  • GPU
  • Optimization
  • Deductive verification
  • Annotation-aware
  • Program transformation

Fingerprint

Dive into the research topics of 'Alpinist: An Annotation-Aware GPU Program Optimizer'. Together they form a unique fingerprint.

Cite this