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 220.127.116.1100613, 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?