Before describing my problem, I would like to provide my platform information first:
Windows 7 64 bit
Processor: A8-3850 (with Radeon HD 6550D)
Video Card: Radeon HD 7850 (MSI R7850 HAWK 2G)
AMD APP v2.8.1
Visual Studio 2012
When I run clinfo.exe from Windows console, it could successfully detect 3 OpenCL devices, namely a discrete GPU (the Radeon HD 7850), an integrated GPU (the Radeon HD 6550D), and a CPU, in sequence. All information retrieved seems to be right except that the ‘Max Clock Frequency’ of the discrete GPU is 600 MHz, not the default 980 MHz. The retrieved value is the same with the integrated GPU. If I change the ‘Init Display First’ in BIOS settings from ‘Onboard’ to ‘PEG’, reboot and run clinfo.exe again, it will retrieve the correct max clock frequency for the discrete GPU. To verify what I observed, I wrote a short C program to query the devices the CL_DEVICE_MAX_CLOCK_FREQUENCY by calling clGetDeviceInfo, and I got the same results. Why does the discrete GPU works at the same low frequency as the integrated GPU? I intend to use the discrete GPU as my scientific computing engine. It will be frustrating if it cannot work full-powered. Is there someone could help me fix this problem?
As i understand you are getting full GPU clock after changing the Init Display First setting. Isn't your problem fixed then?
Also remember using Primary Video adapter setting to enable integrated GPU by selecting it as primary device.
Thanks for your response, Himanshu, but where is the 'Primary Video adapter setting'? There is only an 'Init Display First' menu in the BIOS setting. I also checked the AMD VISION Engine Control Center, and neither is there such a setting. All I want is keeping the humble integrated GPU processing all GUI stuffs, and making the discrete GPU work exclusively as a FULL-POWERED general-purpose parallel computing engine. The problem is: Although they could coexist, the discrete one works only at 600 MHz clock frequency, not the default 980 MHz.
>>>> If I change the ‘Init Display First’ in BIOS settings from ‘Onboard’ to ‘PEG’, reboot and run clinfo.exe again,
>>>> it will retrieve the correct max clock frequency for the discrete GPU.
Primary Video Adapter is a setting in BIOS to enable iGPU in case it is not detected by OpenCL. IMHO there are slightly different names for different motherboard vendors.
Can you actually try running some code (maybe APP SDK Sample), and share results of degraded performance.