I am trying to debug an OpenCL kernel using CodeXL from within Visual Studio 2012. I set a breakpoint at clEnqueueNDRangeKernel and hit F11. The result is a new tab being opened which is labeled "No Source Available". It also says: The current thread is not currently running code or the call stack could not be obtained".
However in CodeXL Properties window I can see information about the kernel I'm trying to debug: Kernel Function Name, # of Arguments, Arguments Information.
Debugging the application from CodeXL, (no Visual Studio), shows a similar problem. In the CodeXL Explorer window, I can see all the kernels listed under OpenCL Programs, OpenCL Program 1, but trying to get into the kernel does not work. If I double click on the kernel name, a new window gets opened labeled "CL Context 1 Kernel 4 -....", but it is empty, no code.
How can I make it work?
Is there an CodeXL log file that I could check to see why it can't open and display the kernel code?
Where does CodeXL look for the OpenCL code?
I have also tried CodeXL from within Visual Studio with the Matrix Multiplication sample from AMD APP SDK and I could step in inside the kernel.
Here are a few details about the project:
- Visual Studio solution with several projects
- The main project statically links with a lib file generated by another project inside the solution. This second project is the one containing the OpenCL code
- There is one single OpenCL source file
- The OpenCL source file is not included in the project; I have tried adding it, but nothing changed
- The OpenCL program is created with clCreateProgramWithSource
- clBuildProgram is called with the options string being empty, ""
Version information:
- CodeXL version 1.5.6571.0
- AMD APP SDK 2.9-1
- AMD FirePro W5100
- Driver Date 5/20/2014
- Driver Version 13.352.1009.0
Thanks.