GPU memory safety tested with a new standardized benchmark suite

Towards Standardized Evaluation of GPU Memory Safety with GMSBench

Cryptography and SecurityHardware Architecture

Summary

GPUs are important for fast computing tasks but can have tricky memory problems that cause errors or crashes. The authors created GMSBench, a collection of 149 small test programs designed to find different kinds of memory mistakes on GPUs. This helps compare how well tools catch those mistakes across various GPUs and situations. They showed how GMSBench can test an existing GPU memory checker to see what kinds of errors it detects. This work aims to make GPU programs safer by improving how memory errors are found and fixed.

GPUmemory safetybenchmarkCUDAspatial errorstemporal errorsconcurrency errorsCompute Sanitizermemory detection toolshigh-performance computing

Authors

Saurabh Singh, Jaewon Lee, Seonjin Na, Hyesoon Kim

Abstract

As GPUs become increasingly integral to high-performance computing and machine learning, ensuring memory safety in GPU programs has become crucial for reliable and secure execution. However, evaluating GPU memory safety techniques remains challenging due to the lack of comprehensive and standardized benchmarks. In this paper, we present GMSBench, a GPU memory safety benchmark designed to evaluate a broad range of memory safety violations across different GPU memory spaces and execution scenarios. GMSBench comprises 149 self-contained CUDA tests spanning spatial, temporal, and concurrency errors. The suite provides a standardized foundation for the evaluation and comparative analysis of GPU memory safety mechanisms and helps expose gaps in their detection coverage. We demonstrate the utility of GMSBench by evaluating Compute Sanitizer, a widely used GPU memory error detection tool across multiple GPU architectures.