I am reporting this in the hope that somebody has experienced the same problem and found a solution for it.
On one of our system, based on openSUSE 11.3 we exchanged two of the three installed GPUs (from Vsomethiing to HD5800). Before that we could run any number of concurrent OpenCL applications and all of them were able to see the GPUs. Since the update only the first launched application is able to access the GPUs.
This problem even exists if the first application does not activly use the GPU, e.g. performs only CPU computation. Once the first application is finished, newly launched applications will again be able to use the GPU. At least as one dosn't launch them concurrently. This can even be reproduced with the clinfo application that is part of APP 2.5.
I am currently using Catalyst 10.7. I have also ran some tests with 10.10, but that did not solve my problem.
I want to add, I have one workaround, which is to start each application with "COMPUTE" set such, that each application sees a different one. However this is not really the solution I had in mind.
COMPUTE=:0.0 /opt/AMDAPP/bin/x86_64/clinfo |grep GPU & COMPUTE=:0.1 /opt/AMDAPP/bin/x86_64/clinfo |grep GPU & COMPUTE=:0.2 /opt/AMDAPP/bin/x86_64/clinfo |grep GPU &