GPUVerify is a tool for formal analysis of GPU kernels written in OpenCL and CUDA. The tool can prove that kernels are free from certain types of defect, such as data races and bugs. This is quite useful feedback for any GPU-programmer.
Below you find a online version of the tool (please don’t break it!). Play around and test your kernels. Be aware the number of groups is the global worksize divided by local worksize.
For demo-purposes some values have been pre-filled with a simple kernel – press “Check my OpenCL kernel” to find the results. Did you expect this from this kernel? Can you explain the result?
After the LEAP-conference I’ll extend this article – till then I’m too time-limited. For now I wanted to share the online version with you, especially with the people who will attend the tutorial at LEAP. Be sure to check out the GPUVerify website and paper to learn more about this fantastic tool!
I tried verifying a kernel and got this error:
GPUVerify: GPUVERIFYVCGEN_ERROR error: While invoking gpuverifyvcgen: [Errno 2] No such file or directory
With command line args:
[‘mono’,
‘GPUVerify/2013-09-23/bin/GPUVerifyVCGen.exe’,
‘/atomics:rw’,
‘/noBenign’,
‘/print:f07bc6e931d57e1d3d6f3a54f79ffed6’,
‘f07bc6e931d57e1d3d6f3a54f79ffed6.gbpl’]