I use the C++ bindings made by AMD.
In cl.hpp, the cursor stops at clEnqueueNDRangeKernel() in cl_int enqueueNDRangeKernel . At this point, I can use the CodeXL explorer to look at the buffers and see what's in them. But if I press F11 to try to 'step into' the kernel code,
this is the result. How do I solve this problem? I've been at it for an hour or two, and nothing I try seems to work.
Incidentally, the Teapot example code won't work, because something goes wrong with Unicode characters being inserted and such.
Using Catalyst 13.4, AMD Radeon HD 6700 series, and OpenCL 1.1.
I could post code, but there's quite a few files and dependencies.
Thanks for your report.
CodeXL 1.2 has been out for a while now, you should give it a try:
This version includes a lot of bug fixes and changes, as well as separation of the call stack for Kernel debugging from the host code call stack. These all may prove relevant to this issue.
A few other things you might want to try:
1. CodeXL might be stopping if an API function you have a breakpoint on is called before the kernel you asked to debug is dispatched. In this case, a message box saying so should appear. Either way, to avoid this happening, you should disable all breakpoint before pressing F11.
2. If the Visual Studio extension version of CodeXL is giving you trouble, try seeing if you can make it work in the standalone CodeXL application.
3. If the problem still happens with CodeXL 1.2, please reply here and attach a new screenshot with the call stack view visible.
This is the call stack. It breaks at enqueueNDRangeKernel() while using CodeXL's debugging mode & command.
If I press "F11" there, it goes to the screenshot in the original post and the call stack is empty.
I'm using CodeXL 1.2.
The Teapot example in CodeXL's standalone program throws an "Access violation" at 0x0036155a (this thread tried to read from or write to a vritual address to which it does not have access) and refuses to show the teapot. Only a white, blank window is visible.