Question

I am working on OpenCL. Does anyone know of a good debugger for OpenCL so that I can step into the OpenCL code and trace?

Was it helpful?

Solution

Perhaps Gremedy's OpenCL debugger would be helpful? http://www.gremedy.com/gDEBuggerCL.php

OTHER TIPS

You may also want to look into CodeXL:

https://gpuopen.com/compute-product/codexl/

CodeXL was originally developed by AMD, but was later released as an open-source project.

your best bet is Intel Debugger for CPU, announced at Intel OpenCL SDK 1.5:

Intel OpenCL SDK you can step-by-step debug in visual studio.

Visual Studio debugger plug-in

Maybe you can try to use GDB on x86 CPU under Linux OS, see AMD's tutorial: http://developer.amd.com/gpu/ATIStreamSDK/assets/Debugging_OpenCL_with_GDB_on_x86_CPUs.pdf

Only AMD gDEBugger supports OpenCL step by step running and other tasty features http://developer.amd.com/tools/gDEBugger/Pages/default.aspx

NVidia Parallel NSight and other NVidia products will not support OpenCL debugging due to marketing decisions.

I generally recommend using GPUVerify from Imperial College London and Oclgrind from the University of Bristol, especially when you are stuck debugging your OpenCL programs (but better even before that).

I have not used it, but CLBuilder looks promising

Main features of CLBuilder

  1. Write OpenCL kernels with color syntaxing
  2. Compile the kernel to check errors without the need to launch and debug your own app.
  3. Easily create and select Build settings.
  4. Define kernel input values and check results.
  5. Profile the kernel execution time in order to improve performances.
  6. Create different Work Item Sizes Set (Global and Local) to check performances.
  7. Execute the kernel with printf on CPU and easily debug the code.
  8. Display input and output values on a chart.
  9. Consult execution log in order to see what CLBuilder is doing (log each OpenCL C function).
  10. Check Local and Constant arguments and resources used by the kernel.
  11. Generate C code to execute the kernel, CLBuilder will also compile this generated source code and execute it.
  12. Easily check all OpenCL properties including platform information.

NVIDIA's Parallel Nsight debugger (formerly known as Nexus) supports OpenCL (GPU).

From the website:

Parallel Nsight supports CUDA C, OpenCL, DirectCompute, Direct3D, and OpenGL.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top