Bitcoin Forum
May 06, 2024, 05:59:17 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Command Line Overclock ATI 5830  (Read 2137 times)
BitCointransfers (OP)
Member
**
Offline Offline

Activity: 104
Merit: 10


View Profile
May 27, 2011, 01:22:11 PM
 #1

Hello Everyone,

Got my first 4x5830 rig up and running but can't for the life of me get the cards OC'd.  Aticonfig won't allow it changes other than stock and AMDOverdriveCTRL is a mystery.  Is there any other command line tool I can use to increase clock and drop the memory speed?   I'm running the 11.04 Ubuntu as per the guide here on the forum...


Thanks!!
1715018357
Hero Member
*
Offline Offline

Posts: 1715018357

View Profile Personal Message (Offline)

Ignore
1715018357
Reply with quote  #2

1715018357
Report to moderator
1715018357
Hero Member
*
Offline Offline

Posts: 1715018357

View Profile Personal Message (Offline)

Ignore
1715018357
Reply with quote  #2

1715018357
Report to moderator
1715018357
Hero Member
*
Offline Offline

Posts: 1715018357

View Profile Personal Message (Offline)

Ignore
1715018357
Reply with quote  #2

1715018357
Report to moderator
"I'm sure that in 20 years there will either be very large transaction volume or no volume." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715018357
Hero Member
*
Offline Offline

Posts: 1715018357

View Profile Personal Message (Offline)

Ignore
1715018357
Reply with quote  #2

1715018357
Report to moderator
1715018357
Hero Member
*
Offline Offline

Posts: 1715018357

View Profile Personal Message (Offline)

Ignore
1715018357
Reply with quote  #2

1715018357
Report to moderator
1715018357
Hero Member
*
Offline Offline

Posts: 1715018357

View Profile Personal Message (Offline)

Ignore
1715018357
Reply with quote  #2

1715018357
Report to moderator
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
May 27, 2011, 01:36:52 PM
 #2

I got some code that does this using adl. No commandline-stuff, though, it's all hardcoded currently Sad

I could make it into a cmdline-tool, maybe with the following switches:

   -l (list cards and display clocks)
   -c <card number> (select card)
   -setcore <clock in mhz> (set core clock)
   -setram <clock in mhz> (set ram clock)


example usage:
  aticontrol -c 0 -setcore 880 -setram 350

note: setting ram-clock using the method I use involves manipulating "performance levels"

how about that? maybe we could crowdfund this, any pledgers?

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
BitCointransfers (OP)
Member
**
Offline Offline

Activity: 104
Merit: 10


View Profile
May 27, 2011, 01:56:23 PM
 #3

Thats great your working on that, but what is everyone using now?
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
May 27, 2011, 02:05:00 PM
 #4

Thats great your working on that, but what is everyone using now?

Probably amdoverdrvctrl

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
BitCointransfers (OP)
Member
**
Offline Offline

Activity: 104
Merit: 10


View Profile
May 27, 2011, 04:31:26 PM
 #5

Ive tried amdoverdrivectrl but can't get it to work... anything else?
frozen
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile
May 27, 2011, 06:11:06 PM
 #6

Can you explain what doesn't work with amdoverdrivectrl? Do you get an error message?

Take a look at AMDOverdriveCtrl --help. There are two parameters of significant value: -i and -b

-i takes an index for the card you want to select. In my case, the 5830 shows up as index 3.

-b is for batch mode. It won't start the gui and will just set the clock speeds and exit

The final parameter is an overdrive configuration file that contains all the good clock settings. You can create one in the AMDOverdriveCtrl interface and save it.

AMDOverdriveCtrl -i 3 -b 5830.ovdr

Code:
<?xml version="1.0" encoding="utf-8"?>
<OVERDRIVE_PROFILE>
  <PERFORMANCE_LEVEL level="2" gpu="97500" mem="30000" voltage="1160"/>
  <PERFORMANCE_LEVEL level="1" gpu="55000" mem="15000" voltage="1038"/>
  <PERFORMANCE_LEVEL level="0" gpu="15700" mem="15000" voltage="950"/>
  <FAN_SETTING percentage="50"/>
  <FAN_CTRL enabled="no"/>
  <FAN_CTRL_CURVE type="0"/>
  <FAN_CTRL_POINT nr="0" temperature="2000" percentage="0"/>
  <FAN_CTRL_POINT nr="1" temperature="4000" percentage="2500"/>
  <FAN_CTRL_POINT nr="2" temperature="6000" percentage="5000"/>
  <FAN_CTRL_POINT nr="3" temperature="8000" percentage="7500"/>
  <FAN_CTRL_POINT nr="4" temperature="10000" percentage="10000"/>
  <MONITOR_SAMPLE_TIME interval="10"/>
  <COLOR_PROFILE enabled="no" longitude="-13.000000" latitude="52.000000" color_temp_day="0" color_temp_night="0" transition="30"/>
</OVERDRIVE_PROFILE>

Using the above, I have a shell script that I can execute (over ssh, because my rig is in the basement):

Code:
frozen@anarix:~/poclbm$ cat 5830.sh 
#!/bin/bash
export DISPLAY=:0
AMDOverdriveCtrl -i 3 -b 5830.ovdr
./poclbm.py -u xxxxx_desktop5830 --pass xxxxxx -o xxxxx -p 8332 -v -d 2 -f 1

Works pretty well. I have an overdrive and a script for each card that I am running.


BitCointransfers (OP)
Member
**
Offline Offline

Activity: 104
Merit: 10


View Profile
May 27, 2011, 06:53:31 PM
 #7

Your Awesome...   any idea why AMDOverdriveCtrl  shows I have 12 adapters instead of 4?.. also how hot do you run yours?

Thansks..

~$ AMDOverdriveCtrl --help
INF: Nr. of Adapters: 12
INF: Adapter index: 0, active, ID:22278416, ATI Radeon HD 5800 Series
INF: Adapter index: 1, inact., ID:22278416, ATI Radeon HD 5800 Series
INF: Adapter index: 2, inact., ID:22278416, ATI Radeon HD 5800 Series
INF: Adapter index: 3, active, ID:22888176, ATI Radeon HD 5800 Series
INF: Adapter index: 4, inact., ID:22888176, ATI Radeon HD 5800 Series
INF: Adapter index: 5, inact., ID:22888176, ATI Radeon HD 5800 Series
INF: Adapter index: 6, active, ID:23452256, ATI Radeon HD 5800 Series
INF: Adapter index: 7, inact., ID:23452256, ATI Radeon HD 5800 Series
INF: Adapter index: 8, inact., ID:23452256, ATI Radeon HD 5800 Series
INF: Adapter index: 9, active, ID:24016336, ATI Radeon HD 5800 Series
INF: Adapter index: 10, inact., ID:24016336, ATI Radeon HD 5800 Series
INF: Adapter index: 11, inact., ID:24016336, ATI Radeon HD 5800 Series
frozen
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile
May 27, 2011, 07:39:00 PM
 #8

No, I don't know why there are so many inactive adapters. I think I read about it somewhere, can't remember.

I run at about 70C for both cards.

Code:
frozen@anarix:~$ ./gpu.sh 
99%
99%
67.00
71.50

frozen@anarix:~$ cat gpu.sh
#!/bin/bash
DISPLAY=:0 aticonfig --adapter=all --odgc | awk '/GPU\ load/ { print $4 }'
DISPLAY=:0 aticonfig --adapter=all --odgt | awk '/Temp/ { print $5 }'


BitCointransfers (OP)
Member
**
Offline Offline

Activity: 104
Merit: 10


View Profile
May 27, 2011, 07:41:38 PM
 #9

thanks.. and yes I do get a error on the screen saying can't apply overdrive settings.  the ovdr file you pasted, it has several performance levels, how do you choose the one you want... I want to run my cards at 1000 core 300 mem.... 100% fan.
ius
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
May 27, 2011, 07:48:45 PM
 #10

What does aticonfig say? Most likely your memory clock range is restricted by your card's bios.

Code:
aticonfig --odgc
BitCointransfers (OP)
Member
**
Offline Offline

Activity: 104
Merit: 10


View Profile
May 27, 2011, 07:50:22 PM
 #11

~/poclbm$ aticonfig --odgc --adapter=all

Adapter 0 - ATI Radeon HD 5800 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    875           900
             Current Peak :    875           900
  Configurable Peak Range : [600-875]     [900-1200]
                 GPU load :    99%

Adapter 1 - ATI Radeon HD 5800 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    875           900
             Current Peak :    875           900
  Configurable Peak Range : [600-875]     [900-1200]
                 GPU load :    98%

Adapter 2 - ATI Radeon HD 5800 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    875           900
             Current Peak :    875           900
  Configurable Peak Range : [600-875]     [900-1200]
                 GPU load :    98%

Adapter 3 - ATI Radeon HD 5800 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    875           900
             Current Peak :    875           900
  Configurable Peak Range : [600-875]     [900-1200]
                 GPU load :    94%
ius
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
May 27, 2011, 07:57:00 PM
 #12

Lowest you can go is 900 MHz. The only 'easy' workaround is editing the bios using Radeon Bios Editor (on Windows I'm afraid).
trentzb
Sr. Member
****
Offline Offline

Activity: 406
Merit: 251


View Profile
May 27, 2011, 08:06:01 PM
 #13

Your Awesome...   any idea why AMDOverdriveCtrl  shows I have 12 adapters instead of 4?.. also how hot do you run yours?

With ATI ADL an adapter != device|card

ADL confused me also. Apparently an ADL adapter represents the adapter interfaces on the card, whether physically exposed or not, DVI, HDMI, DP. I had thought it represented a card also.

aticonfig does not use ADL from what I can tell.


 
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
May 27, 2011, 11:37:44 PM
 #14

Lowest you can go is 900 MHz. The only 'easy' workaround is editing the bios using Radeon Bios Editor (on Windows I'm afraid).

That's not true (at least not for a 5970)

Here's output of my tool using adl calls to modify the 3 performance levels.

Quote
Adapter 0 (slave):, index 3: got ODParameters
   number performance levels: 3
   number performance levels: 3
     engine clock range: [8000..100000] step 500
     memory clock range: [15000..150000] step 500
          voltage range: [950..1050] step 5
   GOT 3 performance Levels
      performance level 0: engine: 300.00 Mhz, memory: 150.00 Mhz, core: 1.038 V
      performance level 1: engine: 725.00 Mhz, memory: 150.00 Mhz, core: 1.038 V
      performance level 2: engine: 870.00 Mhz, memory: 400.00 Mhz, core: 1.050 V
   SET performance level successfully to the following values:
      performance level 0: engine: 300.00 Mhz, memory: 150.00 Mhz, core: 1.038 V
      performance level 1: engine: 725.00 Mhz, memory: 150.00 Mhz, core: 1.038 V
      performance level 2: engine: 880.00 Mhz, memory: 400.00 Mhz, core: 1.050 V

After that, I can even use aticonfig to set the ramclock to 150:

Quote
goldesel ati_control # aticonfig --adapter=0 --od-getclocks

Adapter 0 - ATI Radeon HD 5900 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    880           400
             Current Peak :    880           400
  Configurable Peak Range : [725-1000]     [150-1500]
                 GPU load :    0%

goldesel ati_control # aticonfig --adapter=0 --od-setclocks=880,150

Adapter 0 - ATI Radeon HD 5900 Series
            New Core Peak   : 880
            New Memory Peak : 150

goldesel ati_control # aticonfig --adapter=0 --od-getclocks

Adapter 0 - ATI Radeon HD 5900 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    880           150
             Current Peak :    880           150
  Configurable Peak Range : [725-1000]     [150-1500]
                 GPU load :    0%

you may ask: why is the "configurable peak range" "[150-1500]"?

answer: the lower limit of the range is given by the next-lower performance level's value (in this case the value of performance level 1, 150, which I set with my tool earlier)

Before I modified the performance level data, it was not possible to set ram-clock below 1000, aticonfig reported "configurable range [1000-1500]"

(I never set any clocks or performance level data in my BIOS)

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
PcChip
Sr. Member
****
Offline Offline

Activity: 418
Merit: 250


View Profile
May 28, 2011, 12:28:52 AM
 #15

What language is your tool written in, and how exactly do you edit hardware parameters?

I'm not asking because I need to use it (I run Windows, don't know shit about linux but wish I did), I'm asking because it sounds really cool


 Grin


Legacy signature from 2011: 
All rates with Phoenix 1.50 / PhatK
5850 - 400 MH/s  |  5850 - 355 MH/s | 5830 - 310 MH/s  |  GTX570 - 115 MH/s | 5770 - 210 MH/s | 5770 - 200 MH/s
Tmoney
Newbie
*
Offline Offline

Activity: 40
Merit: 0


View Profile
May 28, 2011, 01:41:52 AM
 #16

Can you explain what doesn't work with amdoverdrivectrl? Do you get an error message?

Take a look at AMDOverdriveCtrl --help. There are two parameters of significant value: -i and -b

-i takes an index for the card you want to select. In my case, the 5830 shows up as index 3.

-b is for batch mode. It won't start the gui and will just set the clock speeds and exit

The final parameter is an overdrive configuration file that contains all the good clock settings. You can create one in the AMDOverdriveCtrl interface and save it.

AMDOverdriveCtrl -i 3 -b 5830.ovdr

Code:
<?xml version="1.0" encoding="utf-8"?>
<OVERDRIVE_PROFILE>
  <PERFORMANCE_LEVEL level="2" gpu="97500" mem="30000" voltage="1160"/>
  <PERFORMANCE_LEVEL level="1" gpu="55000" mem="15000" voltage="1038"/>
  <PERFORMANCE_LEVEL level="0" gpu="15700" mem="15000" voltage="950"/>
  <FAN_SETTING percentage="50"/>
  <FAN_CTRL enabled="no"/>
  <FAN_CTRL_CURVE type="0"/>
  <FAN_CTRL_POINT nr="0" temperature="2000" percentage="0"/>
  <FAN_CTRL_POINT nr="1" temperature="4000" percentage="2500"/>
  <FAN_CTRL_POINT nr="2" temperature="6000" percentage="5000"/>
  <FAN_CTRL_POINT nr="3" temperature="8000" percentage="7500"/>
  <FAN_CTRL_POINT nr="4" temperature="10000" percentage="10000"/>
  <MONITOR_SAMPLE_TIME interval="10"/>
  <COLOR_PROFILE enabled="no" longitude="-13.000000" latitude="52.000000" color_temp_day="0" color_temp_night="0" transition="30"/>
</OVERDRIVE_PROFILE>

Using the above, I have a shell script that I can execute (over ssh, because my rig is in the basement):

Code:
frozen@anarix:~/poclbm$ cat 5830.sh 
#!/bin/bash
export DISPLAY=:0
AMDOverdriveCtrl -i 3 -b 5830.ovdr
./poclbm.py -u xxxxx_desktop5830 --pass xxxxxx -o xxxxx -p 8332 -v -d 2 -f 1

Works pretty well. I have an overdrive and a script for each card that I am running.



Frozen, you are a GD genius.  I've been trying to figure out how to downclock my memory in linux on multiple adapters, without having to use Windows to flash the bios, or Windows at all.  Your gpu.sh script is sweet too because I no longer have to arrow up and to get to whenever the last time I used aticonfig --odgc/t --adapter=all.  Thanks.  This is worth at least a bitcoin to me, so post an address to donate with the bitcoind command.

T
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
May 28, 2011, 09:02:28 AM
 #17

Your gpu.sh script is sweet too because I no longer have to arrow up and to get to whenever the last time I used aticonfig --odgc/t --adapter=all.  Thanks.  This is worth at least a bitcoin to me, so post an address to donate with the bitcoind command.

you know you can just do

Quote
#> echo "aticonfig --odgc/t --adapter=all" >> myscript.sh
#> chmod a+x myscript.sh

magic yourself, don't you?

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!