Wed 21 Jun 2023 17:00 - 17:20 at Royal - PLDI: Hardware & Systems Chair(s): Zachary Tatlock

CUDA, OpenCL, and OpenACC are the primary means of writing general-purpose software for NVIDIA GPUs, all of which are subject to the same well-documented memory safety vulnerabilities currently plaguing software written in C and C++. One can argue that the GPU execution environment makes software development more error prone. Unlike C and C++, CUDA features multiple, distinct memory spaces to map to the GPU’s unique memory hierarchy, and a typical CUDA program has thousands of concurrently executing threads. Furthermore, the CUDA platform has fewer guardrails than CPU platforms that have been forced to incrementally adjust to a barrage of security attacks. Unfortunately, the peculiarities of the GPU make it difficult to directly port memory safety solutions from the CPU space.

This paper presents cuCatch, a new memory safety error detection tool designed specifically for the CUDA programming model. cuCatch combines optimized compiler instrumentation with driver support to implement a novel algorithm for catching spatial and temporal memory safety errors with low performance overheads. Our experimental results on a wide set of GPU applications show that cuCatch incurs a 19% runtime slowdown on average, which is orders of magnitude faster than state-of-the-art debugging tools on GPUs. Moreover, our quantitative evaluation demonstrates cuCatch’s higher error detection coverage compared to prior memory safety tools. The combination of high error detection coverage and low runtime overheads makes cuCatch an ideal candidate for accelerating memory safety debugging for GPU applications.

Wed 21 Jun

Displayed time zone: Eastern Time (US & Canada) change

16:00 - 18:00
PLDI: Hardware & SystemsPLDI Research Papers at Royal
Chair(s): Zachary Tatlock University of Washington

#pldi-wed-1600-hardware-royal Discord icon small YouTube icon small

16:00
20m
Talk
Loop Rerolling for Hardware Decompilation
PLDI Research Papers
Zachary Sisco UC Santa Barbara, Jonathan Balkind UC Santa Barbara, Timothy Sherwood University of California at Santa Barbara, Ben Hardekopf University of California at Santa Barbara
DOI
16:20
20m
Talk
Memento: A Framework for Detectable Recoverability in Persistent Memory
PLDI Research Papers
Kyeongmin Cho KAIST, Seungmin Jeon KAIST, Azalea Raad Imperial College London, Jeehoon Kang KAIST
DOI
16:40
20m
Talk
Cutting the Cake: A Language for Fair Division
PLDI Research Papers
Noah Bertram Cornell University, Alex Levinson Cornell University, Justin Hsu Cornell University
DOI
17:00
20m
Talk
cuCatch: A Debugging Tool for Efficiently Catching Memory Safety Violations in CUDA Applications
PLDI Research Papers
DOI Pre-print
17:20
20m
Talk
A Lineage-Based Referencing DSL for Computer-Aided Design
PLDI Research Papers
Dan Cascaval University of Washington, Rastislav Bodík Google Research, Brain Team, Adriana Schulz University of Washington
DOI Pre-print
17:40
20m
Talk
A Type System for Safe Intermittent Computing
PLDI Research Papers
Milijana Surbatovich Carnegie Mellon University, Naomi Spargo Carnegie Mellon University, Limin Jia Carnegie Mellon University, Brandon Lucia Carnegie Mellon University, USA
DOI