After upgrading drivers/catalyst control center (which allowed me to debug some kernels) I now get some compiler crashes....
The attached kernel code crashes in kernel analyzer (and crashes in code), but if I add -cl-opt-disable it doesn't, but it won't execute (or "build" in code) due to "Undeclared function index 1036".
I am currently devolving the code down to a simpler form to demonstrate the error.
Error log: (same for all devices)
========== Build: started ==========
OpenCL Compile Error: clBuildProgram failed (CL_BUILD_PROGRAM_FAILURE).
OpenCL Compile Message - Compiling for device: Barts
Error: Undeclared function index 1036
Any clues as to where this is going wrong? (building blobpair.cl)
Using windows 7, 64bit, and an ATI/amd radeon 5670
clRect_GetBottomRight was undefined (but declared). No linker error, but I've realised "Undeclared function XXX" means, "undefined <user/arbritry> function"
Maybe something to do with using includes.
As soon as I defined the function, the crash went away.
Perhaps I spoke too soon, I'm still getting a crash with NO -cl-opt-disable argument...
I do not see crash on a HD7xxx GPU, Can you try on any other GPU at your end?
Getting a 5xxx may be little tough for me.
I'm afraid not, will the ISA/IL output from KernelAnalyzer2 help at all? Or is there a stacktrace/crashdump or something similar I can capture when this occurs which will help you?
It crashes if I just build CPU too, so I presume it's not a GPU specific issue...
What GPU driver are you using?
And CodeXL version?
Please try with latest softwares, I do not see this issue on both windows and linux.
CodeXL is latest version: 1.2.3897.0
I'm using the latest drivers and catalyst control center (as bundled with SDK 2.8.1 as title)
From catalyst control center:
2D Driver Version: 8.01.01.1295
Catalyst version: 13.4
Driver packaging version: 12.104-130328a-155980C-ATI
From Device manager:
Driver version of "ATI Radeon HD 5670" : 22.214.171.124
Attached is another .cl kernel which crashes for me. I've boiled it down to as little as possible which casuses a "Fatal compiler error encountered" crash in KA2 with "-cl-opt-disable" (It doesn't crash without it).
Incidentally it causes my display driver to crash (black screen for about 30 secs then win7 restarts it) when I run the kernel in my app
can you try with 13.6 beta driver?
with 13.6 beta2 driver, Test.cl immediately above in the thread now compiles successfully with or without the -cl-opt-disable.
Going to test some more kernels and report any other crashes. In this thread (Unless there is a more appropriate place to report these? start new threads?)
So far, the only crash I've had is [which was present before] debugging a kernel which says something along the lines of "Tried to access invalid virtual address" which crashes my app [probably an assert from a return], This USED to also take down visual studio, but doesn't any more.
Coming back to this, when the attached code (blobpair.cl) is compiled, it crashes at runtime (accessing 0x0000000 during clBuildProgram) and crashes KA2 (though that obviously has an exception handler)
If I add -cl-opt-disable, it doesn't crash and compiles & runs okay.
Using 13.6 beta2 drivers/CCC on a ATI Radeon 5670
I will let you know my findings soon. BTW, could not reproduce it on linux, so probably a windows only a issue.
Forwarded to the OCL Compiler Team. Thanks for reporting it.
This still occurs with 13.8 BETA drivers. KA2 closes with the error;
"Fatal compiler error encountered. KernelAnalyzer will now close."
Also still crashes in my app with a reading 0x0 exception in clBuildProgram.
Please have some patience. The bugs reported by you had been filed, and will be included in a near future driver release cycle.
Oh it's not impatience, I just wanted to keep you updated that the latest drivers -just released- don't fix it.
If they HAD fixed it, I thought you'd want to know too?
It's not unheard of for newly released drivers to unintentionally fix bugs
I feel it's pretty standard procedure in software development cycles when new firmware/sdk/drivers are released you test your app and unit tests against all known issues (and non-issues). Just as a QA team would test known bugs against new software releases. (I've only been doing this for 13 years though)
We were able to reproduce the issue with the latest driver. We will keep you updated on the resolution.