We use Radeon HD 6970 cards with ATI's OpenCL SDK (both 2.3 and 2.4) on Linux.
OpenCL works for a while, but then, after running several instances of OpenCL applications, the SDK prints the message:
"Maximum number of clients reached"
and the GPU devices are no longer recognized (but the CPU-device still works). Only a reboot fixes this problem.
To quantify the problem, this happens afer running about 110-115 instances of "CLInfo" (from the ATI-supplied samples). When there are two GPUs installed, both stop being recognized at the same time.
We also found that prior to the problem occuring, performance of kernels gradually degrade.
Any ideas how to fix this?
I had this issue with fglrx 11.2. What is your driver version?
I had same issue on a 4870 with 2.4 sdk.
It is ATI driver 11.3
Do You mean running the clInfo 115 times one after the other or starting that many instances together.
115 times one after the other!
runned over 13000 timer in while loop and it still detect both CPU and GPU devices.
I am having the same problem with some OpenCL code using an HD6970 and SDK 2.5, when I runthe executable many times the video card just disappears and all I get is the "maximum number of clients reached" message.
This can be fixed by starting X with the -noreset command. One of our developers starts X with the following command to fix the issue:
nohup /usr/bin/X11/X -ac -noreset &
This is only a solution if X is only being used for running OpenCL apps and not if you are using X for other uses.