1''*_*1'' 3 valgrind gpu gpgpu opencl
要检查CPU上的内存访问冲突,可以使用Valgrind/memcheck; 对于GPU上的CUDA代码,有CUDA memcheck.是否有相当于OpenCL的这些工具?
现在有一个名为Oclgrind的OpenCL设备模拟器,它以类似于Valgrind的方式工作,以提供"memcheck"功能(以及其他功能).
它是开源的,并且有各种平台可用的二进制构建.像Valgrind一样,它并不快,但使用它非常简单:
$ oclgrind ./myapp
Invalid write of size 4 at global memory address 0x3000000000010
Kernel: write_out_of_bounds
Entity: Global(4,0,0) Local(4,0,0) Group(0,0,0)
store i32 %tmp15, i32 addrspace(1)* %tmp19, align 4, !dbg !24
At line 4 of input.cl:
c[i] = a[i] + b[i]
Run Code Online (Sandbox Code Playgroud)