I have an HP Z820 configured width an Intel Xeon E5-2650, 32GB RAM, and an msi Radeon R9 280X Gaming 6G card. I am running Windows 8.1 Pro, and have Visual Studio Premium 2013 Update 3, AMD Catalyst Version 14.9(Driver 14.301.1001-140915a-176154C), AMD APP SDK 2.9-1, and Code XL 1.5.6571 installed.
I am trying to debug a kernel in the AMD Teapot example. I compile the AMDTTeaPot project in Debug Configuration. When I run without any break points, the application runs at 127 FPS.
When I put a breakpoint in the kernel applyBuoyancy() by clicking to the left of line 20 in tpApplyBuoyancy.cl, the application slows down to 23 FPS and I observe a lot of pairs of threads being created and then destroyed. The application does not break.
If I remove that breakpoint, continue, and use the OpenXL menu to put a New CodeXL Breakpoint in the Kernel Function applyBouyancy(), the application breaks just before the call to _clEnqueueReleaseGLObjects() on line 2303 of AMDTTeapotOCLSmokeSystem.cpp. Stepping does not move the cursor.
If I remove the previous breakpoint, continue, and add a New CodeXL Breakpoint in clEnqueueNDRangeKernel(), the application breaks just before the call to _clEnqueueNDRangeKernel() on line 2112 of AMDTTeapotOCLSmokeSystem.cpp. Attempting to step brings up a dialog box, which says
The Process was suspended before a kernel enqueued for debug has started executing.
Disable all API function breakpoints and resume debugging(F5) to continue into the kernel.
After deleting all breakpoints and hitting F5, a dialog box appears with the message,
Could not debug kernel. Error during kernel debugging.
A coworkwer with a similar setup, but different (R9 290X) card, has no trouble putting a breakpoint in applyBouyancy(). His version of Visual Studio appears to load the same DLLs as mine does during program invocation. My "CodeXLServers-<userid>.log" file is the same as his up until the very end of his file. The last line in agreement between the two files looks like this:
2014.11.26 09:49:48.828 #14418177828 #ERROR #0 #3836 #gsSamplersMonitor::updateContextDataSnapshot #src
\gsSamplersMonitor.cpp #291 #Assertion failure (m_glGetSamplerParameteriv != 0 && m_glGetSamplerParameterfv != 0)
After that, my log file contains a large number of repetitions of this error:
2014.11.26 09:49:48.287 #14418360287 #ERROR #0 #4268 #csDWARFParser::getAddressScope #src\csDWARFParser.cpp #2926
#Assertion failure (pAddressScope != 0)
Can you help me figure out what is going on?
Message was edited by: Jeffrey Snyder I corrected my comment about the behavior when breaking on clEnqueueNDRangeKernel(). I had mistakenly said that the application breaks on _clEnqueueReleaseGLObjects(), but that was a copy/paste error from the previous case.