Bounds Checking on GPU

Research output: Contribution to journalJournal articleResearchpeer-review

We present a simple compilation strategy for safety-checking array indexing in high-level languages on GPUs. Our technique does not depend on hardware support for abnormal termination, and is designed to be efficient in the non-failing case. We rely on certain properties of array languages, namely the absence of arbitrary cross-thread communication, to ensure well-defined execution in the presence of failures. We have implemented our technique in the compiler for the functional array language Futhark, and an empirical evaluation on 19 benchmarks shows that the geometric mean overhead of checking array indexes is respectively 4% and 6% on two different GPUs.

Original languageEnglish
JournalInternational Journal of Parallel Programming
Volume49
Issue number6
Pages (from-to)761-775
ISSN0885-7458
DOIs
Publication statusPublished - 2021

Bibliographical note

Publisher Copyright:
© 2021, The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature.

    Research areas

  • Compilers, Functional programming, GPU

ID: 306966579