Race Detection on Unified Shared Memory (USM)
Large-scale parallelism on modern GPUs has the potential of introducing concurrency errors. Prior work has looked into the problem of detecting data races in a GPU kernel with software-only or hardware-only support. Existing work has mostly ignored the challenges involved with detecting races on USM. Traditional techniques that track the ‘happens-before’ relationship may not scale well for detecting data races across CPU and GPU threads.
In this talk, we discuss our proposed approach: Using collision analysis to detect USM data races on Intel® GPUs. Our proposed approach is synchronization-oblivious: It can use sampling, and can also potentially bound the worst-case overhead that is introduced.