Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Adept II

clGetPlatformIDs() crashes with 5 GPUs Catalyst 12.6 whql

Is there max number of supported GPUs at moment. If I plug in more than 4 GPUs the clGetPlatformIDs() function crashes sporadically, but only at the first call to clGetPlatformIDs() after the application was started.


If the first call after opening the application runs, every following call to clGetPlatformIDs() runs until the application closed without crash. I wrote a simple Dialog and put the following 3 lines into the OnInitDialog() function:

cl_int clStatus;

cl_uint numPlatforms;

clStatus = clGetPlatformIDs(0, NULL, &numPlatforms);

and once from 20 Starts of the Simple Dialog crashes. Also inside Visual Studio so that I know which call it is.


If I take only 1, 2 or 4 cards the Simple Dialog does not crash, only if I take 5! So I think that not all GPUs are correct supported by driver or I make a mistake.

My Machine config is:

HP Z800

5x HD 7950


Windows 7 Ult x64

6 Replies
Adept II

I tested it today again with the Catalyst 12.7 Beta same result like the 12.6. The version of aticaldd64.dll is the same, so I await the same result. It crashes sporadically!


Sorry to hear about the crashing!

I emailed this thread to the Catalyst QA team this morning.

Also, will you please report the problem that you are having here:



Thanks for the reply and for emailing it to the QA team. I will report that issue also on the link you have posted.


One part of my question was may be a bug. The other part was a question about specs. How many single or dual GPU cards are supported by the Windows 7 Catalyst driver, or exist other limitations. I see many discussion about that theme but I found no defined specs.


Hi captian-n,

I've also seen  clGetPlatformIDs() crashing on first call, and it seems to depend on driver version. In my case, I found a work around but it might not apply here.

I've run opencl in a second thread leaving the first thread for display or just idle. Around versions v8.95/v8.96 I saw sporadic crashing and traced it to the first call to clGetPlatformIDs(). The problem disappeared if I made a single, initial call to clGetPlatformIDs() from the main thread, then proceed as usual running in the second thread. However, I didn't use these drivers very long.

The same problem returned in beta version 9.00 crashing all programs at a %50 random rate. In this case, the initial call to clGetPlatformIDs() from the main thread didn't work, but, if I moved opencl to the main thread, or just swapped  threads leaving opencl in the main thread, all programs ran just fine.

The thread changes might just be changing an out of bounds reference somewhere (hence the random crashes) so any thread change might have an effect. Of course, your' story may be different.

My system is similar, Win7 64 with 3 GPUs (not 5).


Hi Allan,

thanks a lot for the hints and it is bad hear that it crashs with 3 cards also. In my case I have tested it crashes only if I have more than 4 cards, but in this case also in the main thread. I described the small sample I use for verification just a standard dialog with the clGetPlatformIDs(0, NULL, &numPlatforms); call in the OnInitDialog() no additional threads or other things. So the workaround does not work for me. 😞  My random rate is only by 20% so I´m the lucky one. 😉