The gdebugger 6.2 says that the kernel debugging is not available because i am using unsupportet stuff e.g. the printf inside my Kernel. But i am not using the printf. Is it possible that the usage of shared openGL objects like image2d_t, VBOs and UBOs are the reason for this behaviour? Also i use the atomic_cmpxchg and barrier(CLK_LOCAL_MEM_FENCE).
Ubuntu 12.04 X64 3.2.0-31-generic
AMD 7970 with Catalyst 12.8
AMD APP SDK 2.7
The atomic operation is the reason gDEBugger will not debug your kernel. From gDEBugger release notes:
"Atomic operations that return a value are not currently supported. Affected extensions include:
cl_khr_int64_base_atomics, cl_khr_int64_extended_atomics, cl_khr_global_int32_base_atomics, cl_khr_global_int32_extended_atomics,
cl_khr_local_int32_base_atomics, cl_khr_local_int32_extended_atomics, cl_ext_atomic_counters_32 and cl_ext_atomic_counters_64.
Split kernels that use atomic operations into a separate program to those kernels that do not use atomic operations. This
will allow debugging of the kernels that do not use atomic operations."
BTW, the successor tool to gDEBugger is AMD CodeXL, whose Beta version is now available for download. Among many other improvements, CodeXL pops-up a message specifying what feature of a kernel prevents debugging it.
Why not give it a try? http://developer.amd.com/tools/hc/CodeXL/pages/default.aspx
Advanced Micro Devices
The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. Links to third party sites are for convenience only, and no endorsement is implied.
The current CodeXL is a great software package. Its good to see that open standards are so good supported for development provided by your work!
Thanks for the feedback!