My app starts to produce invalid results if source CL file is compiled with Catalyst 12.10 and causes driver restarts if it compiled with Cat 12.11 beta 8.
All this observed on HD7770 GPU. Looks like HD5xxx and HD6xxx are not affected.
Moreover, if app uses cached binaries compiled with Catalyst 12.8 - it works OK under Catalyst 12.10 and 12.11 beta 8. So, it's some problem that very new OpenCL runtime compiler adds.
Any chance to get this issue fixed in Cat 12.11 release ?
1) No need to re-run on Linux. Linux dev confirmed that he can compile under Linux now (after driver reinstall and Linux update). So it was some glitch and he can't reproduce it now. Hence no need to waste more time on this.
2) Driver crash on execution come most probably from too lengthly kernel.
As I reported in another thread there are 12 registers allocated per kernel workitem under Cat 12.8 while only 5 under Cat 13.1. So, I think register spills are inevitable that degrades performance under red line of driver restart.
Driver crash on compilation stage is quite another issue but again, I'm not quite sure is it stable reproducible (you saw this issue once but it gone after one more driver reinstall).
Also, app build with different kernels that uses more local memory doesn't suffer from too long kernel execution time so we can just go with that app build for now. Not show-stopper issue.
3) But issue with Catalyst 12.10 is reproducible (unfortunately) and plagues both kinds of app (not all data patterns but in general we can't restrict app from reciving different kind of data patterns as input). Loks like it was fixed in Cat 13.1 though.
Cause hotfix for Cat 12.10 in the presence of 13.1 is highly unlikely I think there is currently no more issues to solve with your help. Thanks a lot for participating! I will create new thread in case latest Catalysts will cause some headaches to keep issue easier to follow. Kernel performance degradation under Cat 13.1 is worth to look into though. So I attach ISA's under different Catalysts (12.8 and 13.1). There is another thread about another (not mine) app that sees same issue of lowering registers usage under 13.1 so maybe worth to look for Catalyst compiler devs.
Thanks for the update.
I guess I have seen many issues where performance drop down with 13.1. driver has been reported. I will attach these ISAs to some relevent people. Can you let me know if these ISAs are for kernels Multibeam_kernels_r*.cl files you had attached earlier. May be you can give the names of the specific kernels.
The kernel files have ~20 different kernels. I cannot find kernel with name PulseFind. I am assuming you meant PC_find_pulse_partial_kernel1_cl. I am forwarding it to OpenCL Compiler team.
Message was edited by: Himanshu Gautam
Still getting this failed compilation on the Cat 13.3 Beta 3 drivers on Windows 7 x64:
OpenCL-kernels filename : MultiBeam_Kernels_r1779.cl
INFO: can't open binary kernel file: .\\MultiBeam_Kernels_r1779.clHD5_Capeverde.bin_V7, continue with recompile...
Error : Building Program (source, clBuildProgram):main kernels: not OK code -11
Internal error: Compilation failed.
Edit: this problem has been worked around, details in this thread:
Thanks Raistmer for the update.
Are you sure -cl-unsafe-math-optimizations flag is not causing the data corruption issue?
I will try to look into the code base in some days. Meanwhile If you can arrange for more information, from claggy and team, it would be helpful.
Checked, -cl-unsafe-math-optimizations flag has no influence on invalid resuls.