Hi!
I have an issue that would require me getting my notebook able to compile programs asap, but roughly a week of trying has brought no results. A link to the issue:
http://devgurus.amd.com/message/1285122#1285122
Since then I have done everything I could to remove ALL AMD/ATi entries from the registries (intelligently, some are meaningful logs), yet the kernel compiling crash remains. On windows this is what my program output:
ALL : Querying platforms...
ALL : Found 2 platforms.
INFO : Platform found: Intel(R) Corporation
ALL : Querying INTEL CPUs...
INFO : Found 1 device.
ALL : Device #0 Intel(R) Core(TM) i5 CPU M 430 @ 2.27GHz
ALL : Querying INTEL GPUs...
ERR : cl::Platform::getDevices(CL_DEVICE_TYPE_GPU) (-1)
INFO : Found 0 device.
INFO : Platform found: Advanced Micro Devices, Inc.
ALL : Querying AMD CPUs...
INFO : Found 1 device.
ALL : Device #0 Intel(R) Core(TM) i5 CPU M 430 @ 2.27GHz
ALL : Querying AMD GPUs...
INFO : Found 1 device.
ALL : Device #0 Juniper
DEBUG: Entering loadKernels()
Stack dump:
0. <eof> parser at end of file
0x000007FDF9FA4AA5 (0x0000005E27FF6480 0x0000005E278714C0 0x000077CA31684F1A 0x0
000000000000000), CreateFrontEndInstance() + 0xB4C5 bytes(s)
0x000007FDFA0F599C (0x0000005E27882138 0x0000000000000001 0x0000005E278A5010 0x0
00007FD00000000), CreateFrontEndInstance() + 0x15C3BC bytes(s)
0x000007FDFA0E2074 (0x0000000000000001 0x0000005E2767D6E0 0x0000005E2767F010 0x0
000005E2ECF8BA0), CreateFrontEndInstance() + 0x148A94 bytes(s)
0x000007FDFA10AB52 (0x0000005E27FF6480 0x0000005E27FF6480 0x0000005E262147F0 0x0
000000000000000), CreateFrontEndInstance() + 0x171572 bytes(s)
0x000007FDF9FAC9F2 (0x0000000000000001 0x0000005E2767F010 0x0000005E27FF6480 0x0
00000000000000F), CreateFrontEndInstance() + 0x13412 bytes(s)
0x000007FDFA0BCCBE (0x0000005E2ECF8E18 0x000007FE243AC91A 0x0000005E2767F010 0x0
00007FDFAED2FB8), CreateFrontEndInstance() + 0x1236DE bytes(s)
0x000007FDFA0A7AE1 (0x0000005E27FF7180 0x0000000000000000 0x0000005E2ECF8DF9 0x0
000005E2ECF8F30), CreateFrontEndInstance() + 0x10E501 bytes(s)
0x000007FDF9F9C899 (0x0000005E27FF7180 0x0000005E280F2940 0x0000005E280F1980 0x0
000005E27FF8000), CreateFrontEndInstance() + 0x32B9 bytes(s)
0x000007FDF9F98289 (0x0000000000000000 0x0000005E27FF7180 0x0000005E2ECFB860 0x0
000000000000000)
0x000007FDF9F9A9BF (0x0000000000000015 0x000007FE089DC068 0x0000005E22CF02C0 0x0
000000000000000), CreateFrontEndInstance() + 0x13DF bytes(s)
0x000007FE089B3D57 (0x0000005E24C72010 0x0000005E24C72010 0x0000000000000000 0x0
000005E22CF02C0), clGetExtensionFunctionAddressForPlatform() + 0x38887 bytes(s)
0x000007FE08997644 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0
000005E23CE0028), clGetExtensionFunctionAddressForPlatform() + 0x1C174 bytes(s)
0x000007FE10933852 (0x0000005E22CFB3C0 0x0000000000000001 0x0000000000000000 0x0
000000000000000), ?CreateThreadPartitioner@TaskExecutor@OpenCL@Intel@@YAPEAVIThr
eadPoolPartitioner@123@PEAVIAffinityChangeObserver@123@IPEAI@Z() + 0x27B2 bytes(
s)
0x000007FE10934808 (0x0000005E23ED3A40 0x0000000000000000 0x0000005E24C72010 0x0
000005E22CFE078), ?CreateThreadPartitioner@TaskExecutor@OpenCL@Intel@@YAPEAVIThr
eadPoolPartitioner@123@PEAVIAffinityChangeObserver@123@IPEAI@Z() + 0x3768 bytes(
s)
0x000007FE119686B5 (0x0000005E23EB3D80 0x0000005E23EABF40 0x0000005E23ED3A40 0x0
000000000000001), ?initialize@task_scheduler_init@tbb@@QEAAXH@Z() + 0x6685 bytes
(s)
0x000007FE11963C1F (0x0000005E23EB3D80 0x0000005E23EB3D80 0x0000005E23ED3F00 0x0
00007FE11962F43), ?initialize@task_scheduler_init@tbb@@QEAAXH@Z() + 0x1BEF bytes
(s)
0x000007FE11962ECC (0x0000005E23ECBF00 0x0000000000000001 0x0000005E23EB3D88 0x0
000000000000000), ?initialize@task_scheduler_init@tbb@@QEAAXH@Z() + 0xE9C bytes(
s)
0x000007FE1195FAB8 (0x0000000000000000 0x0000000000000000 0x0000005E2ECFF8F0 0x0
000000000000000), ?thread_sleep_v3@internal@tbb@@YAXAEBVinterval_t@tick_count@2@
@Z() + 0x1368 bytes(s)
0x000007FE1195FBFD (0x0000005E2ECFBC80 0x0000000000000000 0x0000000000000000 0x0
000000000000000), ?thread_sleep_v3@internal@tbb@@YAXAEBVinterval_t@tick_count@2@
@Z() + 0x14AD bytes(s)
0x0000000050291D9F (0x0000000050322AC0 0x0000005E23EE58A0 0x0000000000000000 0x0
000000000000000), _endthreadex() + 0x43 bytes(s)
0x0000000050291E3B (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0
000000000000000), _endthreadex() + 0xDF bytes(s)
0x000007FE241F167E (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0
000000000000000), BaseThreadInitThunk() + 0x1A bytes(s)
0x000007FE243B3501 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0
000000000000000), RtlUserThreadStart() + 0x21 bytes(s)
0x000007FE243B3501 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0
000000000000000), RtlUserThreadStart() + 0x21 bytes(s)
Press any key to continue . . .
Naturally this is after I try to compile the kernels. I have downloaded the catalyst mobility utility to install the latest, non-beta stable driver, and it did download
12-10_mobility_vista_win7_win8_64_dd_ccc_whql_net4.exe
but the problem remains. Same goes for
12-8_vista_win7_win8_64_dd_ccc_whql.exe
12-10_vista_win7_win8_64_dd_ccc_whql.exe
which I obtained from game.amd.com either when they were new, or recently from the "previous catalyst releases" or similarly named link on game.amd.com . These things used to work, and now they don't, all since I installed Catalyst 12.11 beta4 and tried fixing the issue with 12.11 beta7.
Someone please tell me how to go about solving the issue, as it is becoming PRESSING now. Is it really a full reinstall of Windows 8 that can solve the issue?!
It is hard to advise you since I do not know what you already tried.
Best way to deinstall AMD drivers is to use CIM (catalyst install manager) via control panel. After a reboot you have to remove the following files (start the explorer as an admin!):
(Geschützte Systemdateien sollten angezeigt werden und auch ausgeblendete Dateien)
C:\Users\YourUsername\AppData\Local
C:\Users\YourUsername\AppData\Roaming
C:\Program Files (x86)
C:\Program Files
all AMD, ATI and ATI Technologies stuff
open the registry editor with regedit and go to the following entries:
HKEY_LOCAL_MACHINE\SOFTWARE
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
HKEY_CURRENT_USER\Software
HKEY_CURRENT_USER\Software\Wow6432Node
delete all AMD, ATI and ATI Technologies stuff
fingers crossed and good luck!
someone has created a script called "AMD C rap cleaner - Improved.bat" which deletes more entries.
@echo off
echo -------------------------------------------------------
echo Please make sure that you have UNINSTALLED all ATI
echo drivers and software through windows at programs and
echo features before continuing further.
echo -------------------------------------------------------
pause
@cls
taskkill /F /IM atiesrxx.exe
timeout /t 5
echo -------------------------------------------------------
echo Cleaning registry
echo -------------------------------------------------------
REG DELETE "HKCU\Software\ATI" /f
REG DELETE "HKLM\SOFTWARE\ATI" /f
REG DELETE "HKLM\SOFTWARE\ATI Technologies" /f
REG DELETE "HKLM\SOFTWARE\Wow6432Node\ATI" /f
REG DELETE "HKLM\SOFTWARE\Wow6432Node\ATI Technologies" /f
REG DELETE "HKLM\SOFTWARE\AMD" /f
REG DELETE "HKLM\SYSTEM\CurrentControlSet\services\AMD External Events Utility" /f
REG DELETE "HKLM\SYSTEM\CurrentControlSet\services\amdkmdag" /f
REG DELETE "HKLM\SYSTEM\CurrentControlSet\services\amdkmdap" /f
REG DELETE "HKLM\SYSTEM\CurrentControlSet\services\Atierecord" /f
REG DELETE "HKLM\SYSTEM\CurrentControlSet\services\AtiHdmiService" /f
echo -------------------------------------------------------
echo Cleaning Files
echo -------------------------------------------------------
del "%windir%\system32\ati*.*"
del "%windir%\system32\drivers\ati*.*"
del "%windir%\system32\amdpcom*.*"
del "%windir%\ati*.*"
del "%windir%\sysWOW64\ati*.*"
del "%windir%\sysWOW64\amdpcom*.*"
echo -------------------------------------------------------
echo Cleaning OpenCL
echo -------------------------------------------------------
del "%windir%\system32\amdocl64.dll"
del "%windir%\system32\OpenCL.dll"
del "%windir%\system32\OpenVideo64.dll"
del "%windir%\system32\OVDecode.dll"
del "%windir%\system32\SlotMaximizerAg.dll"
del "%windir%\system32\SlotMaximizerBe.dll"
del "%windir%\sysWOW64\amdocl.dll"
del "%windir%\sysWOW64\OpenCL.dll"
del "%windir%\sysWOW64\OpenVideo.dll"
del "%windir%\sysWOW64\OVDecode.dll"
del "%windir%\sysWOW64\SlotMaximizerAg.dll"
del "%windir%\sysWOW64\SlotMaximizerBe.dll"
rmdir /S /Q "%APPDATA%\ATI"
rmdir /S /Q "%LOCALAPPDATA%\ATI"
echo -------------------------------------------------------
echo Please remove this/these folders manually. You need to
echo take ownership of the folders before removal is possible
echo command is takeown /f <directory> /R
echo folders are printed if found below line after this
echo message
echo -------------------------------------------------------
dir /b "%windir%\system32\DriverStore\FileRepository\C7_*.*"
dir /b "%windir%\system32\DriverStore\FileRepository\CH_*.*"
echo -------------------------------------------------------
echo Also clean these registry paths between lines after this
echo message on second run of this tool note that the { } are
echo the ones to remove not only the last 'video' path.
echo -------------------------------------------------------
REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Video /f "amdkmdap" /s
echo -------------------------------------------------------
echo cleaner complete please reboot your system and run this
echo file again unless doing so atm and then reinstall ATI drivers.
echo -------------------------------------------------------
pause
Thank you for your answer JTK, however this did not solve the issue. The DLLs the batch wants to remove in system32 are constantly locked and are open in dwm.exe.Windows replaces the missing driver with some generic ATi thing too fast for me to be able to delete it after a fresh boot.
This is becoming a joke really, that there is no way to fix this problem.
Let me ask another thing also: I'm starting to question this issue being caused by the driver, more like than the issue of the OpenCL compiler solely (which should be somewhere inside the driver). A long way back I managed to crash APP Kernel Analyzer sooo bad, that not even a reinstall of the tool solved the problem, no kernels could be compiler. This was caused by me having a define in one of my kernels named:
//define for offline analysis
It did an override of the keyword "for" even though this was inside a comment, so naturally everything broke, and Kernel Analyzer holds defines as macros IN REGISTRY! So I had to manually delete these entries left behind the uninstaller. I'm asking: Is it possible that something similar is left behind for OpenCL alone that causes kernel compilations to fail?
The reason I ask because Clatayst 12.11 beta drivers have an issue:
http://devgurus.amd.com/message/1285077#1285077
(which btw I got no reply to) that is solved by removing the driver and reinstalling a new one. Computer no longer crashes when I close the lid. This means the driver must have been replaced, but kernel builds still crash the compiler. How can this be?
Meteorhead,
For sure, something is broken with 12.11 and as I mentioned here http://devgurus.amd.com/message/1285016#1285016 it gets "stuck" and the compiler seems un-removable. Even if you think you successfully rolled back to and earlier version, part of the 12.11 drivers remain. Note. I wrote this before reading your last comment, but the following may still be helpful wrt what's going on with the drivers, they are changing.
The usual way I remove troublesome drivers is (this is not sufficient for 12.11):
Note, when you remove the AMD video drivers, there is still an AMD video driver in the system and usually you can still run ocl, etc. I think it's this feature that is locking in the bad compiler that's causing the problems.
What I think I did was locate this backup driver and switched it to a much older version by renaming files (requires older files), i.e., I changed the backup not the running drivers. After this, older versions like 12.8 or earlier, installed successfully. The problem is I don't remember the details of exactly what I did, it was in the heat of battle.
Other information. AMD seems to be making a lot of changes in the drivers starting about 12.8. In earlier drivers, ocl and the compiler were located in different dll files. The compiler is in aticaldd.dll or aticaldd64.dll depending on the bitness of your system or program, and ocl drivers are in amdocl.dll or amdocl64.dll.
By 12.11 both the ocl drivers and the compiler have been combined in one very large amdocl(64).dll file. This might be the root of the problems with the driver/compiler getting stuck.
Also with 12.11, I found that the kernel analyzer and other tools were no longer displaying any ISA code, preventing debugging. I saw somewhere that AMD acknowledged this and it "will be fixed in upcoming .... " I have also confirmed that indeed, the runtime compiler and the one used by the kernel analyzer can be different. This question was recently asked in another thread.
I must add though in the past most driver installations were quite smooth, assuming you don't watch the screen blank 15++ times as if the computer is going to crash but never does .
Hope it helps although it's not a solution.
BTW. For testing I have found ways to use most any combination of drivers and compilers with out installing or booting.
If you recover you computer I can paste them here. Good luck.
drallan
After finding that all backup storages at hand at my workplace are just too slow to backup those 200 Gigs I need to save, and after doing a quick math that I will not finish reinstalling my system by the afternoon meeting that I would've need my laptop running OCL Apps, I thought I'd do this the hard way. Now... I have tried virtually everything there is.
I have uninstalled every AMD software from the machine with the uninstaller, then rebooted and went into Safe Mode. In safe mode I cleaned everything with the batch file, checked everything manually, that nothing is left behind. After doing this, I uninstalled the driver from Device Manager. After pressing a refresh the display driver came back. I was like: WTF?
Then I learned about the magic of Winsxs. For those unfamiliar with it, it is a directory in C:\Windows that stores backup copies of your .dll-s and hardlinks to it. In case one binary gets damaged or corrupted, it gets restored from this place. I took ownership of the directory (because not even users inside the Administrators group can modify it's contents, only the user TrustedInstaller), and wiped the directories amd64_atiil* that held backup copies of older drivers.
After doing this, rebooting in Normal Mode, Windows was unable to restore any of the AMD binaries to my biggest joy. I thought to myself: HAHA, GOTCHA'! Resintalled everything and guess what? It still crashes. Fresh 12.10 installed, and OCL still crashes.
So I' gonna say it one last time: I have wasted 3 days of my life trying to revert the OpenCL compiler to a proper version. Would someone from the Catalyst dev team be an angel and tell me how on earth can I properly remove this God forsaken compiler?
p.s.: I know AMD lives off gamers, and all 12.11 betas aimed gaming performance, but releasing drivers that crash on the simplest of OCL kernels... not to mention that when multiple topics exist about it, with this one dedicated to undoing the mess of the broken driver, and absolutely no corporate response... that seems 1) highly unprofessional 2) extremely disappointing.