cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

c0nfig
Journeyman III

Re: GPU tasks performance issue when screen goes into standby mode

Hi,

As I previously replied to yurtesen, I  ran via ssh with login in to any user ( I will recheck but  I think that means that compiz was close). The results were  the same slower performance (with either screen on or off) , just like with compiz  and the compiz fix.

For some reason that compiz bug make the performance higher in standby mode.

I'll try  to write a simple kernel so you'll be able to see it if it also happens on your systems.

0 Likes
yurtesen
Miniboss

Re: GPU tasks performance issue when screen goes into standby mode

If you can provide some test code, I can try to run it. What I was thinking is that the cards going to power saving mode or switching in between and loosing performance You already said the current peak was 925, but important part is 'Current Clocks' part (did you mean that?). Perhaps it might make sense to see if 'Current Clocks' show max speed when compiz is using 100% CPU (to see if compiz causing card to stay on high speed mode).

I dont know if it is possible, but you can maybe try to force clocks to stay high at all times? I am not sure if CCC would show you anything under Linux there... But I found this utility which you might be able to try...

http://manpages.ubuntu.com/manpages/hardy/man8/rovclock.8.html

I am just fishing here...

0 Likes
c0nfig
Journeyman III

Re: GPU tasks performance issue when screen goes into standby mode

Hi,

I've prepared a code sample. I simply took a vector addition example and changed the kernel to be more time consuming so the bottleneck won't be the CPU.

The program starts the kernel and calls a blocking buffer copy and repeats in an infinite loop. The program prints the number of steps every 10 seconds.

On my computer when compiz is "fine" I get about 3900 steps per 10 seconds.

During the same run, after a minute the screen goes into standby and when compiz starts to go wild(about 30 seconds after the screen is in standby) I get 4800 steps per 10 seconds.

aticonfig during the all test showed both current peak and current clock @ 925MHz.

I can set the MHz for the cores and  for the memory using aticonfig overdrive utility. I tried to play with this, it changed the performance of course but the behavior remained.

rovclock actually forces the frequency rates ? or it is like  the AMD overdrive ?

BTW, yurtesen you were right, In that message I meant both current peak and current clock.

0 Likes
yurtesen
Miniboss

Re: GPU tasks performance issue when screen goes into standby mode

c0nfig wrote:

rovclock actually forces the frequency rates ? or it is like  the AMD overdrive ?

I dont know, my hope was that it would force the card to stay at high speed even when idling. If you are able to run on windows, MSI afterburner unofficial overclocking mode (2) does this for Tahiti cards at least. It is able to disable powerplay (or it appears it takes over it). But you already said it runs fine on windows so... you might have to find an utility which does the same on linux.

PS. I cut my finger today so I am barely able to type... I wont be able to test your code right away taking it easy for a little while...

0 Likes
c0nfig
Journeyman III

Re: GPU tasks performance issue when screen goes into standby mode

oh sorry to hear that, resting your finger is absolutely a better idea.

I don't have this issue on windows, so I'll just try to use rovclock and post an update.

0 Likes
yurtesen
Miniboss

Re: GPU tasks performance issue when screen goes into standby mode

I just downloaded your test files and will try to run them soon. How did it go with rovclock?

0 Likes
yurtesen
Miniboss

Re: GPU tasks performance issue when screen goes into standby mode

Well, I am getting something like this on a 5870 as output

$ ./a.out

steps per 10 secs : 5012

steps per 10 secs : 5070

steps per 10 secs : 5066

steps per 10 secs : 5081

steps per 10 secs : 5080

6x 5000 = 30000 ? Tomorrow I can try to run it on a 7970 I guess... It seems unlikely that 5870 would beat 6970 or 7970. The next problem is that the 7970 which I have to use is clocked at 1010mhz at performance mode... I guess I will be able to tell if I am having the same problem once I run the program from console directly.

I checked with top and I have roughly 10% CPU usage on your program only. I tested it without logging in and the screen was at login screen (ubuntu 12.04, app sdk 2.7 and catalyst 12.6 driver and I am not sure if it goes to standby, I just installed ubuntu to that box). I will try it tomorrow from console directly also.

Also, just out of curiosity, why didnt you use vector elements in your kernel if this is a vector addition example? (just for fun I tried float4 and it doubles my performance to ~11800 elements per 10 seconds on 5870).

0 Likes
yurtesen
Miniboss

Re: GPU tasks performance issue when screen goes into standby mode

Well, when at console, it appears the performance depends on if there are movements on display or not. I am able to get consistent speeds if nothing is moving on screen. Perhaps X is monopolizing the card?

$ ./a.out

steps per 10 secs : 4569

steps per 10 secs : 5042

steps per 10 secs : 5038

steps per 10 secs : 5035

steps per 10 secs : 5039

steps per 10 secs : 5028

steps per 10 secs : 5037

0 Likes
c0nfig
Journeyman III

Re: GPU tasks performance issue when screen goes into standby mode

Do you happen to have that bug that Compiz goes to 100% CPU on you ubuntu 12.04 ?

Is this last result is on your 7970 @ 1010 Mhz ?

I tried to use rovclock, but it kept throwing the error "Invalid reference clock from BIOS: 0.0 MHz" on any operation I tried, though it did found ATI card (prints "Found ATI card on 01:00 ...").

Thanks for the help.

0 Likes
yurtesen
Miniboss

Re: GPU tasks performance issue when screen goes into standby mode

c0nfig wrote:

Do you happen to have that bug that Compiz goes to 100% CPU on you ubuntu 12.04 ?

Is this last result is on your 7970 @ 1010 Mhz ?

I tried to use rovclock, but it kept throwing the error "Invalid reference clock from BIOS: 0.0 MHz" on any operation I tried, though it did found ATI card (prints "Found ATI card on 01:00 ...").

Thanks for the help.

I ran your program only on 5870 with Ubuntu 12.04. When I tested it, I was not logged in. Therefore the compiz was not using any GPU. But I have the same compiz problem, if I leave a user logged in, then compiz is using a single core 100%. (but I didnt run your program when compiz was running).

Unfortunately I didnt have time to get to 7970, there were some hardware problems in that machine (it will be fixed soon), and it is running Ubuntu 11 (I just remembered now). If you want I can run it on 7970 at some point when I get it up and running.?

From what I see in my 5870, there does not seem to be a problem with the clocks, sometimes when I run your program, the first iteration was little slower but the other ones were quite stable and ~5000 steps/10sec. But of course maybe this problem effects only some cards (but then I would expect 5000 and 6000 series to perform more or less similarly).

0 Likes