cancel
Showing results for 
Search instead for 
Did you mean: 

OpenCL

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

Tags (2)
0 Likes
Reply
25 Replies
binying
Challenger

Re: Using HD7970 as secondary GPU for OpenCL only

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
Reply
darkmen
Journeyman III

Re: Using HD7970 as secondary GPU for OpenCL only

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
Reply
darkmen
Journeyman III

Re: Using HD7970 as secondary GPU for OpenCL only

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
Reply
nou
Exemplar

Re: Using HD7970 as secondary GPU for OpenCL only

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
Reply
darkmen
Journeyman III

Re: Using HD7970 as secondary GPU for OpenCL only

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

0 Likes
Reply
developer
Adept II

Re: Using HD7970 as secondary GPU for OpenCL only

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
Reply
darkmen
Journeyman III

Re: Using HD7970 as secondary GPU for OpenCL only

I prefer some software workaround, not hardware

But thanks anyway

0 Likes
Reply
himanshu_gautam
Grandmaster

Re: Using HD7970 as secondary GPU for OpenCL only

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
Reply
darkmen
Journeyman III

Re: Using HD7970 as secondary GPU for OpenCL only

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
Reply