5 Replies Latest reply on May 2, 2014 12:55 PM by hasatt0

    SDK 2.9: Internal Error: as failed


      I have installed the new 2.9 SDK and, since release notes say from this version on parallel installations of other versions is supported, have left 2.8 on my machine. AMDAPPSDKROOT points to the 2.9 release and in PATH the 2.9 SDK directories come first.


      When trying to run _any_  program, that is also any of the AMD OpenCL 2.9 samples, they all abort with internal error: as failed.

      When running clinfo.exe it says platform version is OpenCL 1.2 AMD-APP (1214.3), and then (after listing all sorts of device stuff) again a failure: ERROR: clBuildProgram(-11).

      amdocl_as.exe --version works and outputs stuff on the GNU utilities (e.g. GNU assembler is, so from 2010 [!]). Is that what it is supposed to be?


      It looks to me a lot as somewhere OpenCL version binaries are getting confused, but I am not able to track it down where. It's loading correctly the 2.9 OpenCl.dll and amdocl.dll; what as is further using - I don't know. Placing all the relevant binaries (e.g. amdocl_as.exe) in the exe-dir does not help matters (that has solved a similar issue for ways older SDK versions according to this forum, but not here).


      For compilation I used VS 2012 Express, Windows 7, 32-bit compilation (64 bit does not work either). The machine is a laptop with Intel CPU, and Nvidia graphics card. All three of AMD, Nvidia and Intel OpenCL drivers are installed, and I do know these can clutter the system folders quite a bit. In case you suggest removing the other vendor drivers - reasonable but not so easy to do: AFAIK for Nvidia it's part of the graphics card driver, and for Intel IIRC it did not remove all the binaries from the system (i.e. left OpenCL.dll in system32 etc.; been there, done that - unless you point me to all the files I need to make sure are cleaned out of the system, an uninstall won't do it). I am also not so happy uninstalling AMD 2.8 because that did work and I don't want to risk, at the moment, being left with nothing working any more. If it matters: Using Nvidia [in my own program] as OpenCl driver works as it ever did.


      Is there some way to finding out which files AMD-as (or another part of the OpenCL compilation procedure) has loaded, and if those are the ones belonging to 2.9 SDK? How I can I explicitly force it to use for sure the 2.9 shipped binaries no matter what else opencl-related files there may be elsewhere on the system, from different AMD versions or different OpenCl vendors?


      Any other clue as to what might be the problem?




        • Re: SDK 2.9: Internal Error: as failed

          So I just uninstalled the 2.9 SDK completely (via Programs -> Uninstall). AMDAPPSDKROOT etc. are all back to the 2.8 installation, so is PATH.


          When running a program compilation of OpenCL code works (i.e. no as failed - error), but than crashes directly upon first command invokations. In other words neither 2.9 has been working, nor is 2.8 now working.

          So what's next?


          How can I find out if all exe and library files - includings those from tools like amdocl_as.exe and colleagues themselves - have been loaded correctly (including: which are the correct ones)? And further, how to force it using the correct ones?

          In case the problem is due to any other OpenCL platform binaries installed (graphcis driver was recently updated BTW): Is there some way to clean a system of any OpenCL components, no matter which platform they belong to? Normally rolling back to different driver versions won't replace libraries from a newer installation.


          Thank you

            • Re: SDK 2.9: Internal Error: as failed


              sorry for the late reply.


              Could you please uninstall both the APP SDKs and remove the folders manually from the path where it got installed and make sure that all the environmental variables reset properly. Later try to install 2.9 APP SDK and 2.8 SDK separately and try running the samples. Once after this works, then try to install both together and try to execute the samples. Later please do share the feedback.

                • Re: SDK 2.9: Internal Error: as failed

                  Did uninstall 2.9 and 2.8, removed all folders manually etc. Also prior to installing any AMD SDK I re-updated the Nvidia graphics driver (clean re-install) to the latest version (just the graphics driver, though it's the same which has already been on the system; there is no CUDA SDK or anything else installed).


                  I have just installed (only) AMD 2.9 SDK, environmental variables and PATH are correctly set to 2.9 SDK (and no reference to 2.8 in PATH any more), with AMD 2.9 SDK directories coming first in PATH.


                  Result: Programs compile fine, but at runtime AMD is not recognized as available OpenCL-platform at all (i.e. no AMD-associated platform returned by clGetPlatformIDs; so e.g. samples start running with Nvidia GPU). A gut feeling tells me this should not be the case for a proper clean installation of 2.9 SDK, isn't it? Or do I need to get runtime packages separately ??


                  Another change I have noticed is that OpenCL.dll in system folders (System32 and SysWOW64) are now signed from Nvidia, with file date from 23 October 2013 but, more interestingly, file version (quite ancient); to get a program run I either had to copy the AMD 2.9 OpenCL.dll manually into the exe-dir, or, alternatively, rename these system-folder files (auto-choice then picks the AMD 2.9 SDK versions from PATH directories); otherwise I had gotten a DLL load error (clReleaseDevice not found).

                  When running clinfo.exe I have the same DLL issue; once that is fixed again it only lists Nvidia platform. Neither did clinfo.exe fail to execute with that DLL error nor list exclusively Nvidia platform when I created the thread (i.e. until just now with uninstalling all AMD SDKs).


                  So ?

                  Any help much appreciated!

              • Re: SDK 2.9: Internal Error: as failed

                I had the exact same problem with an Intel CPU and nVidia graphics card. I had SDK 2.8 installed and then installed SDK 2.9 over it. Then all those build program failures occured. Even though I removed SDK 2.9 and everything associated with it manually, the errors persisted. I even uninstalled SDK 2.8 and did a clean install of SDK 2.8 but nothing worked.


                One day I noticed "AMD/Support/{SDK2.7}" folder in C drive which indicated that I had installed SDK 2.7 at some point and might have installed SDK 2.8 over it. I ran the SDK 2.7 setup from Support folder and selected 'uninstall'. After uninstalling SDK 2.7 using 'setup' (not control panel because it doesn't even show in control panel) I installed SDK 2.9 and it worked like a charm as far as GPU was concerned. But, AMD platform was not being detected which meant I couldn't run CPU emulation. So I installed SDK 2.8 without uninstalling SDK 2.9 and now everything is working perfectly.


                Here's what I reckon what the problem may be: Some windows registry entries may remain when you don't uninstall an SDK and install a newer SDK. Uninstalling from windows control panel doesn't help nor does manually removing all files/folders. Running APP SDK setup and selecting uninstall may fix this for you. Running SDK setup of an older SDK like 2.7 (even if you've never installed it) and selecting uninstall might also fix the problem.