cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

darkmen
Journeyman III

Using HD7970 as secondary GPU for OpenCL only

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

amd_ccc.png

2. AMD System Monitor still can see it but NO info about clock or usage %

amd_sm.png

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

0 Likes
25 Replies
binying
Challenger

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?

0 Likes

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)

0 Likes
darkmen
Journeyman III

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

0 Likes

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.

0 Likes
darkmen
Journeyman III

Thats exactly what I am trying to do:) But no luck so far

0 Likes

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.

0 Likes

I prefer some software workaround, not hardware

But thanks anyway

0 Likes

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?

0 Likes

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              


0 Likes

Hi darkman,

I will get back to you on this. Thanks for sharing the results.

0 Likes

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.

0 Likes

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

0 Likes
developer
Adept II

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

0 Likes

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)

0 Likes

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.

0 Likes

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

0 Likes

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)

0 Likes

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.

0 Likes
darkmen
Journeyman III

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)

0 Likes

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

0 Likes

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

0 Likes

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?

0 Likes

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.

0 Likes

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.

0 Likes

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

0 Likes