When I go to install the AMD APP SDK and the Intel OpenCL SDK or the NVIDIA CUDA SDK, each SDK wants to overwrite the other's libOpenCL* shared libraries, but none of them are binary identical pairs. How can I be certain that all these OpenCL SDKs can play nicely together and won't cause problems? Shouldn't they all include the same standard libOpenCL* shared libraries? This goes for libOpenGL* as well. However, the issue is also that should these files really go in /usr/lib, /usr/lib32, or /usr/lib64 in the first place? Why not leave them where they're installed in /opt/AMDAPP and just add them to the correct paths? That way you can easily update and revert back to older versions with confidence. The /usr/bin and /usr/lib directories are generally reserved for system managed installs via yum, zypper, apt, etc.
Also, is the perl install script really necessary? Didn't AMD use a bash script before in order AMD APP SDK (or ATI Stream SDK) versions, which worked great and was easy to read and change install directory? This has to be the worst formatted perl script I've seen and not as easy to modify.