Hi, i have problems using the HD7970 as secondary GPU. I have itegrated Intel video I want to use for desktop rendering and HD7970 for calculations. This is required to have normal screen feedback during OpenCL calculations running. Both cards have no monitors connected.
The windows 7 makes last installed GPU as primary card (I cant select it any other way, only disable and enable in Device Manager)
So, to make Intel as primary card (and render desktop) I have to disable the AMD card and enable it again.
This is not the big problem, but when AMD card is secondary in system here starts wired things:
1. AMD Catalist control center stops "seeing" it, I cant check\set memory or core clock
2. AMD System Monitor still can see it but NO info about clock or usage %
3. OpenCL device information shows 500 Mhz core clock (default clock when it was primary GPU, was 1050 Mhz)
OpenCL kernels running ok but with very low performance.
No other third party software is able to set clock for secondary GPU.
Please adwise how to run the AMD card full power.
System running Win7 x64 with the latest stable catalist drivers 12.10
Multiple GPUs from different vendors...
"OpenCL device information shows 500 Mhz core clock "--by using "clinfo"?
"OpenCL kernels running ok but with very low performance."--Are you sure the kernel is running on 7970?
Yes, multiple GPU from multiple vendors, but... I want to use only one single vendor for OpenCL.
The full clinfo output attaching for both cases (AMD primary, Intel primary).
Kernels running on AMD (thats for sure), and running correct but very slow (a few times slower)
Still facing the problem. Any ideas?
Strange thing, when kernel range takes 4-5 seconds, the system become very hard contolable.
Delayed desktop feedback, and very hard to connect to the host with remote admin clients (CPU load is close to 0 btw)
When running desktop on the Intel GPU, no such kind of problems happens.
Thanks in advance
That is because when you run kernel GPU is locked and can't do anything else. That mean it can't update what is on screen. Solution is using separate GPU for display.
Thats exactly what I am trying to do:) But no luck so far
Hi,
Windows can get finicky about its video drivers. Having 2 graphics drivers loaded at the same time can be a very complicated situation for windows. The best bet (a temporary workaround) is to use a low-end AMD video card instead of Intel.
I prefer some software workaround, not hardware
But thanks anyway
hi darkmen,
I created a similar setup using HD7750 GPU + Intel i5 2500 machine with SDK 2.8 and Driver 12.10.
I have made the integrated GPU as primary video device using BIOS settings, to run the display using intel's iGPU.
The peak performance of the discrete GPU is 819GFLOPS.
I tried MatrixMulImage sample and here are the results:
-------------------------------------------------------------------------------------------------------------------------------------------------
C:\Users\cas\Desktop\bin\x86_64>MatrixMulImage.exe -q -t -i 5 -x 512 -y 2048 -z 2048
Platform 0 : Intel(R) Corporation
Platform 1 : Advanced Micro Devices, Inc.
Platform found : Advanced Micro Devices, Inc.
Selected Platform Vendor : Advanced Micro Devices, Inc.
Device 0 : Capeverde Device ID is 0000000002A699E0
Executing kernel for 5 iterations
-------------------------------------------
KernelTime (ms) : 24.0153
GFlops achieved : 178.843
KernelTime (ms) : 15.7046
GFlops achieved : 273.485
KernelTime (ms) : 9.10385
GFlops achieved : 471.775
KernelTime (ms) : 9.09007
GFlops achieved : 472.49
KernelTime (ms) : 9.09304
GFlops achieved : 472.336
MatrixA MatrixB Time(sec) KernelTime(sec)
512x2048 2048x2048 0.188817 0.0239169
---------------------------------------------------------------------------------------------------------------------------------------------------------
So it seems i can reach nearly 60% of the peak GPU performance, which is quite impressive. Can you try this sample?
Hi, thanks for participating for a start.
Now results for my HD7970 stock clock (core: 1100MHz | mem:1500MHz):
AMD GPU primary
Platform 0 : Advanced Micro Devices, Inc.
Platform found : Advanced Micro Devices, Inc.
Selected Platform Vendor : Advanced Micro Devices, Inc.
Device 0 : Tahiti Device ID is 0242B7F0
Executing kernel for 5 iterations
-------------------------------------------
KernelTime (ms) : 3.92607
GFlops achieved : 1093.96
KernelTime (ms) : 3.91852
GFlops achieved : 1096.07
KernelTime (ms) : 1.92296
GFlops achieved : 2233.52
KernelTime (ms) : 1.92296
GFlops achieved : 2233.52
KernelTime (ms) : 1.924
GFlops achieved : 2232.31
MatrixA MatrixB Time(sec) KernelTime(sec)
512x2048 2048x2048 0.204031 0.00941063
Intel GPU primary
Platform 0 : Advanced Micro Devices, Inc.
Platform found : Advanced Micro Devices, Inc.
Selected Platform Vendor : Advanced Micro Devices, Inc.
Device 0 : Tahiti Device ID is 00AFB7F0
Executing kernel for 5 iterations
-------------------------------------------
KernelTime (ms) : 6.04104
GFlops achieved : 710.965
KernelTime (ms) : 6.07852
GFlops achieved : 706.581
KernelTime (ms) : 6.47807
GFlops achieved : 663.001
KernelTime (ms) : 6.17259
GFlops achieved : 695.813
KernelTime (ms) : 6.28415
GFlops achieved : 683.461
MatrixA MatrixB Time(sec) KernelTime(sec)
512x2048 2048x2048 0.197901 0.0126547
Hi darkman,
I will get back to you on this. Thanks for sharing the results.
Hi darkmen,
I am still not able to reproduce this issue at my end. I have not been able to test on tahiti (because of its availablity), but my HD7750 do not show any signs of this performance degradation.
Willl it be possible for you to send some steps as to what all you installed, and in what order.
Have you tried changing the BIOS settings of your machine. Try making iGPU as primary device adapter.
Also I think you have not installled any other OpenCL SDK(intel's ?) as you only want to use intel's GPU for display purpose?
Thanks for your patience.
Hi, there is no primary card settings in BIOS (atleast in windows gui tool from Gigabyte), and there is no monitor hardware newr the PC to try normal way. As i wrote in my first post - both cards running w\o monitors connected.
MB has only HDMI output for video, so i tried to connect some tv instead of monitor.
Well, it still cant enter bios (black screen, seems tv not supports low res) but, in windows it works correct. And with tv plugged in iGPU, clinfo reports 1100 MHz for AMD. After I did reboot w\o tv it falls back to 500 MHz again.
So, technicaly i need to find HDMI dummy plug for iGPU as workaround (if it exists)
But, would be nice to have some software way for this issue.
THanks in advance
Hi,
As a temporary workaround, can you try extending your desktop to the secondary GPU?
This can force the OS to increase the clock-speed in the secondary GPU.
If this works, we can just extend 1 scanline to the secondary GPU and get the required performance.
you will loose a pixel column for superior GPU performance.
Just a thought.
Best Regards,
Workitem 6
Unfortunatley this not works. When i press Extended desktop - nothing happens (reminding, none of GPUs have monitors connected, becuase this is a compute unit, not a work unit)
I am just curious here. If both your GPUs (integrated as well as discrete) are not connected, how are you extending the desktop? Are you using remote desktop to connect and work with this machine?
You have said that if a TV is connected to iGPU, AMD GPU shows correct clock speed (By iGPU - I assume you mean Integrated Intel GPU). Can you try connecting something to AMD GPU and check what clock speed is reported? - if this is not a hassle.
For a s/w workaruond -- will ask around if this is expected behaviour (or) if there is some work around for the same.
Hi,
I tried using my setup with out any monitors attached. I used windows RDP to access the machine remotely. As of now, I have not seen any degradation in tahiti clock. Can you explain your hardware setup, and how exactly are you accessing it.
Also can you please share the source, for the method used by you to select the primary video adapters.
AFAIK, you should select the primary video adapter from BIOS settings. (probably somewhere in advanced settings).
Message was edited by: Himanshu Gautam
Hi, from the start I want to say:
I used TeamViewer for remote access to display-less workstation before.
Today I have tried RDP and had different experience:
1. OpenCL application shows correct core freq and running full speed using RDP. System feedbacks good even for long kernel execution time (like a few seconds+)
2. Screen settings are a bit different under RDP because it uses own display/driver
But anyway, CCC not even starts under RDP and this way overclocking options are not available. May be this is because of missing phisical display (not sure)
Closing current question as answered, but would be good to know what was wrong for TeamViewr (i belive VNC will be the same too)
there is difference between RDP and VNC/TeamViewer. RDP is using virtual graphic card but VNC is using actual physical GPU. This was problem in the past as there was no access to GPU with OpenCL under RDP.
Well, not in the past. Its not possible to set core/mem clock for AMD GPU under RDP session currently, because CCC not even starts, and 3rd party tools (those i belive use AMD API) cant get fan/temp data and set freq.
BTW, AMD System Monitor screenshot is the same as in my first post (no GPU usage or MHz data)
darkmen wrote:
Well, not in the past. Its not possible to set core/mem clock for AMD GPU under RDP session currently, because CCC not even starts, and 3rd party tools (those i belive use AMD API) cant get fan/temp data and set freq.
Yeah Also see the same behaviour. I will try with teamviewer, and let you know. I had seen the RDP behavior while attaching DVI cable to the GPU.
BTW, AMD System Monitor screenshot is the same as in my first post (no GPU usage or MHz data)
This behaviour is also with teamviewer only IMHO. I can see GPU usage when i am running the samples directly. You can report this in "GPU Developer Tools" section.
Message was edited by: Himanshu Gautam
No, under TV (when AMD is primary GPU) - all fan/usage data are afailable. And (as was mentioned above) RDP uses own graphic driver and AMD GPU becomes secondary (not primary). And thats why it behaves same way I described in my very first post, excepts core clock (it stays unchanged under RDP)
Reminding: all tests were w\o HW display connected
Hi Darkmen,
I guess, you are setting the GPU in overclock mode, by attaching a monitor. Now when you remove the monitor and use RDP to access the system, does the GPU automatically down clock?
Hi, no. Under RDP - clock stays unchanged (even if was overclocked it stays overclocked) according to clinfo. But any of GPU monitor software (including AMD System Monitor) cant read GPU clock, usage, fan speed.
darkmen,
I guess then, that you are finally able to run your GPU in overclocked mode using RDP.
I tried the teamviewer and AMD System monitor, and could see the spikes in System monitor, while running samples. Although System Monitor did not worked with RDP for me.
Anyway, you have more chances of getting better answers in "GPU Developer Tools" section on this.
Yes, I am satisfied for now.
But for sure long-term OpenCL application should be able to monitor/control GPU temp and fan.
I will not start the new thread in Tools section (its no so important for me)
Thanks