cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

drallan
Challenger

Kernel Analyzer, suddenly fails to compile anything, unfixable

The Kernel Analyzer (1.12), which use regularly, suddenly stopped compiling programs apparently for no reason. It will parse opencl code and find errors as before, but then fails to compile anything beyond that point, ISA or IL, giving only the message.

  1. Failed to compile opencl program.

It's a universal failure, not even empty kernels compile, if fails with all possible combinations of KA settings and all selected drivers. I have completely uninstalled all AMD software, drivers and tools, cleaned the windows 7 registry and reinstalled several versions of display drivers and SDKs. No change. Nothing in the system has changed, except perhaps the installation of the latest display driver v9.00 but I frequently change display drivers.

Compiling and running programs works fine as always. I did find 2 odd clues.

  1. An older shader analyzer works fine.
  2. KernelAnalyzer 1.9 works, but all newer versions 1.10, 1.11, and 1.12 fail.

The difference is that v1.9 and earlier versions do not allow use of the current installed driver to compile, version 1.10 and later do. (yes, I have tried selecting older drivers in the newer analyzers and it does not work).

It seems that somehow the newer versions cannot connect to the drivers/compilers, a link has been broken and no amount of cleaning, uninstalling, or reinstalling can fix it.

Any clues are greatly appreciated!

Thanks.

0 Likes
1 Solution

When KernelAnalyzer uses the installed driver, it uses code from OpenCL.dll (which is a very thin layer over amdocl.dll).

It also uses aticalcl.dll and aticalrt.dll (which are thin layers over aticaldd.dll).

If you want to do experiments to see what drivers work with each other and KernelAnalyzer,

you can copy dll files into the directory with AMDAPPKernelAnalyzer.exe.

Those dll files will be used in preference to those in \windows\system32 and \windows\syswow64.

My guess about what went wrong with KernelAnalyzer is that you managed to get a mis-matched set of dlls.

It really takes an official release and Catalyst Install Manager to be sure everything is matched up right.

The v9.00 driver package is ... not yet official.

Given recent packaging changes, a mismatch probably won't break actual OpenCL code,

but it can break KernelAnalyzer.

I'll also note that the version number information displayed with "Use Installed Driver" in KernelAnalyzer

comes (via ADL) from registry entries that Catalyst Install Manager sets.  If you use experimental drivers

like v9.00, be suspicious of those version numbers.

View solution in original post

0 Likes
4 Replies
kalyanpk
Staff

Hi Dralla,

Can you please provide more details on the problem i.e. what are the steps you did and this problem occured?

   - Did Kernel Analyzer v1.12 stopped working the moment you upgraded you display driver to the latest version?

   - When kernel Analyzer v1.12 was working for you, which version of display driver you wer using?

   - Can you please provide your system setup i.e. OS, bitness, GPU, CPU, Display driver, SDK versions installed?

kalyanpk, thanks for your very quick response.

I have now learned how to fix it and maybe which files are involved.

Yes, I've retested and it happens exactly after installing the unofficial display driver v9.00 with SDK 2.7 installed and a working KA. It does not happen when installing another recent driver, 8.981.2.1_hotfix_win7.exe. The system is win7 64 bit, 8GB, with 3 GPUs, 1x6970 and 2x7970 one of which is headless. Over time I've installed most all drivers since 1.92 but usually roll back to 1.92 because of other issues, I use the most recent versions of the SDK as they comes out.

HOW TO FIX

Once the Kernel Analyzer problem occurs, it cannot be fixed by uninstalling any/all AMD packages, or by reinstalling any earlier drivers and/or SDKs ( I tried several drivers, SDK 2.6, 2.5, etc.). The only way to remove the problem (that I found) is to do all of the following

  1. Uninstall all AMD drivers and packages.
  2. Run Drive Sweeper to remove many additional amd* and ati* dlls, other files, and registry entries.
  3. Manually remove the following files which were not removed by AMD or Drive Sweeper.

from C:\Windows\system32.

12/03/2011  09:28 AM            67,584 amdave64.dll

06/12/2012  08:40 PM        32,934,400 amdocl64.dll

06/12/2012  09:15 PM            53,248 amdverag.dll

12/03/2011  09:28 AM            70,656 atisamu64.dll

06/12/2012  08:48 PM            26,936 ativvsnl.dat

06/12/2012  08:48 PM                25 ativvsny.dat

12/03/2011  09:39 AM           157,152 ativvsva.dat

12/03/2011  09:39 AM           204,960 ativvsvl.dat

from C:\Windows \SysWOW64

12/03/2011  09:28 AM            69,632 amdave32.dll

06/12/2012  08:35 PM        27,676,160 amdocl.dll

06/12/2012  08:35 PM            71,168 atisamu32.dll

06/12/2012  08:48 PM            26,936 ativvsnl.dat

06/12/2012  08:48 PM                25 ativvsny.dat

12/03/2011  09:39 AM           157,152 ativvsva.dat

12/03/2011  09:39 AM           204,960 ativvsvl.dat

I'm not sure which files are involved but suspect amdocl64.dll and amdocl.dll because they can only be removed manually. My guess is the problem will occur with other versions of the Kernel Analyzer, i.e., it's the fault of the v9.00 driver package.

Again, thanks, drallan

When KernelAnalyzer uses the installed driver, it uses code from OpenCL.dll (which is a very thin layer over amdocl.dll).

It also uses aticalcl.dll and aticalrt.dll (which are thin layers over aticaldd.dll).

If you want to do experiments to see what drivers work with each other and KernelAnalyzer,

you can copy dll files into the directory with AMDAPPKernelAnalyzer.exe.

Those dll files will be used in preference to those in \windows\system32 and \windows\syswow64.

My guess about what went wrong with KernelAnalyzer is that you managed to get a mis-matched set of dlls.

It really takes an official release and Catalyst Install Manager to be sure everything is matched up right.

The v9.00 driver package is ... not yet official.

Given recent packaging changes, a mismatch probably won't break actual OpenCL code,

but it can break KernelAnalyzer.

I'll also note that the version number information displayed with "Use Installed Driver" in KernelAnalyzer

comes (via ADL) from registry entries that Catalyst Install Manager sets.  If you use experimental drivers

like v9.00, be suspicious of those version numbers.

0 Likes

Thanks for the detailed answer. Such details are sometimes helpful and always interesting.

For certain,  this was precipitated by installing the unofficial, beta, v9.00 drivers.

Allan

0 Likes