Permission-based separation logic for multithreaded Java programs
This paper presents a program logic for reasoning about multithreaded Java-like programs
with dynamic thread creation, thread joining and reentrant object monitors. The logic is …
with dynamic thread creation, thread joining and reentrant object monitors. The logic is …
Warps and atomics: Beyond barrier synchronization in the verification of GPU kernels
E Bardsley, AF Donaldson - NASA Formal Methods Symposium, 2014 - Springer
We describe the design and implementation of methods to support reasoning about data
races in GPU kernels where constructs other than the standard barrier primitive are used for …
races in GPU kernels where constructs other than the standard barrier primitive are used for …
Engineering a static verification tool for GPU kernels
E Bardsley, A Betts, N Chong, P Collingbourne… - … 2014, Held as Part of the …, 2014 - Springer
We report on practical experiences over the last 2.5 years related to the engineering of
GPUVerify, a static verification tool for OpenCL and CUDA GPU kernels, plotting the …
GPUVerify, a static verification tool for OpenCL and CUDA GPU kernels, plotting the …
A sound and complete abstraction for reasoning about parallel prefix sums
N Chong, AF Donaldson, J Ketema - … of the 41st ACM SIGPLAN-SIGACT …, 2014 - dl.acm.org
Prefix sums are key building blocks in the implementation of many concurrent software
applications, and recently much work has gone into efficiently implementing prefix sums to …
applications, and recently much work has gone into efficiently implementing prefix sums to …
Verification of concurrent systems with VerCors
This paper presents the VerCors approach to verification of concurrent software. It first
discusses why verification of concurrent software is important, but also challenging. Then it …
discusses why verification of concurrent software is important, but also challenging. Then it …
Barrier invariants: a shared state abstraction for the analysis of data-dependent GPU kernels
Data-dependent GPU kernels, whose data or control flow are dependent on the input of the
program, are difficult to verify because they require reasoning about shared state …
program, are difficult to verify because they require reasoning about shared state …
A Hoare logic for SIMT programs
K Kojima, A Igarashi - Asian Symposium on Programming Languages and …, 2013 - Springer
Abstract We study a Hoare Logic to reason about GPU kernels, which are parallel programs
executed on GPUs. We consider the SIMT (Single Instruction Multiple Threads) execution …
executed on GPUs. We consider the SIMT (Single Instruction Multiple Threads) execution …
KernelInterceptor: automating GPU kernel verification by intercepting kernels and their parameters
E Bardsley, AF Donaldson, J Wickerson - Proceedings of the …, 2014 - dl.acm.org
GPUVerify is a static analysis tool for verifying that GPU kernels are free from data races and
barrier divergence. It is intended as an automatic tool, but its usability is impaired by the fact …
barrier divergence. It is intended as an automatic tool, but its usability is impaired by the fact …
The GPUVerify method: A tutorial overview
A Donaldson - Electronic Communications of the EASST, 2014 - eceasst.org
I present a tutorial overview demonstrating the key technique used by GPUVerify, a static
verification tool for graphics processing unit (GPU) kernels. The technique is a method for …
verification tool for graphics processing unit (GPU) kernels. The technique is a method for …
[PDF][PDF] Analysis of GPGPU Programs for Data-race and Barrier Divergence.
S Sarkar, P Kandelwal, S Bandyopadhyay… - ICSOFT, 2018 - pdfs.semanticscholar.org
Todays business and scientific applications have a high computing demand due to the
increasing data size and the demand for responsiveness. Many such applications have a …
increasing data size and the demand for responsiveness. Many such applications have a …