Bounds Checking on GPU

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningfagfællebedømt

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.

OriginalsprogEngelsk
TidsskriftInternational Journal of Parallel Programming
Vol/bind49
Udgave nummer6
Sider (fra-til)761-775
ISSN0885-7458
DOI
StatusUdgivet - 2021

Bibliografisk note

Funding Information:
This research has been partially supported by a grant from the Independent Research Fund Denmark, under the research project FUTHARK: Functional Technology for High-performance Architectures.

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

ID: 306966579