Bitcoin Forum
April 26, 2024, 07:54:54 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 »  All
  Print  
Author Topic: New command-line tool for overclocking ATI cards (Linux)  (Read 50850 times)
mjmvisser (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile
July 03, 2011, 11:12:59 PM
Last edit: July 17, 2011, 08:19:13 PM by mjmvisser
 #1

Hi everyone,

I'm an experienced software developer who set up a mining rig last month using Ubuntu. I found the overclocking tool available for Linux (AMDOvDrvCtrl) was a bit annoying to use, so I took a look at the source and decided to write my own command-line version. Rather than write one in C or C++, I figured it would be much more useful to wrap the underlying libraries using Python's ctypes package so I could write the tool in Python. This means no compiling, no installing an SDK, and you can read the code yourself to make sure there's no funny business going on.

Anyway, I'm done and the tool is available. You can install it in a few different ways:

From github: https://github.com/mjmvisser/adl3
From PyPi: http://pypi.python.org/pypi/adl3/0.3
With Python's "easy_install": sudo easy_install adl3==0.3

If you don't use easy_install, you'll need to run "sudo python setup.py install" to install the package after you download and unpack it.

Included is the "atitweak" tool. It can list your adapters just like aticonfig:

Code:
$ atitweak -l
0. ATI Radeon HD 5800 Series  (:0.0)
    engine clock range is 80 - 918MHz
    memory clock range is 150 - 1200MHz
    core voltage range is 0.95 - 1.088VDC
    performance level 0: engine clock 800MHz, memory clock 300MHz, core voltage 0.95VDC
    performance level 1: engine clock 918MHz, memory clock 300MHz, core voltage 1.088VDC
    performance level 2: engine clock 918MHz, memory clock 300MHz, core voltage 1.088VDC
    fan speed range: 0 - 100%,  800 - 5100 RPM
1. ATI Radeon HD 5800 Series  (:0.1)
    engine clock range is 80 - 918MHz
    memory clock range is 150 - 1200MHz
    core voltage range is 0.95 - 1.088VDC
    performance level 0: engine clock 800MHz, memory clock 300MHz, core voltage 0.95VDC
    performance level 1: engine clock 918MHz, memory clock 300MHz, core voltage 1.088VDC
    performance level 2: engine clock 918MHz, memory clock 300MHz, core voltage 1.088VDC
   fan speed range: 0 - 100%,  800 - 5100 RPM

It can also change the engine/memory clock speed and core voltage individually for each performance level and adapter:

Code:
$ atitweak --set-memory-clock=300 --performance-level=2 --adapter=0
Setting performance level 2 on adapter 0: memory clock 300MHz

new! You can set your fan speed (in percent) for each adapter:

Code:
$ atitweak --set-fan-speed=100 --adapter=all

new! It will also show the current status of adapters:

Code:
$ atitweak --status --adapter=0

0. ATI Radeon HD 5800 Series  (:0.0)
    engine clock 950MHz, memory clock 300MHz, core voltage 1.088VDC, performance level 2, utilization 99%
    fan speed 100% (3447 RPM) (user-defined)
    temperature 85.5 C

Here's the full command-line help:

Code:
Usage: atitweak [options]

Options:
  -h, --help            show this help message and exit
  -l, --list-adapters   Lists all detected and supported display adapters.
  -s, --status          Shows current clock speeds, core voltage, utilization
                        and performance level.
  -e ENGINE_CLOCK, --set-engine-clock=ENGINE_CLOCK
                        Sets engine clock speed (in MHz) for the selected
                        performance levels on the selected adapters.
  -m MEMORY_CLOCK, --set-memory-clock=MEMORY_CLOCK
                        Sets memory clock speed (in MHz) for the selected
                        peformance levels on the selected adapters.
  -v CORE_VOLTAGE, --set-core-voltage=CORE_VOLTAGE
                        Sets core voltage level (in VDC) for the selected
                        performance levels on the selected adapters.
  -f FAN_SPEED, --set-fan-speed=FAN_SPEED
                        Sets the fan speed (in percent) for the selected
                        adapters.
  -d, --set-fan-speed-default
                        Resets the fan speed to its default setting.
  -A ADAPTERLIST, --adapter=ADAPTERLIST
                        Selects which adapters returned by --list-adapters
                        should be affected by other atitweak options.
                        ADAPTERLIST contains either a comma-seperated sequence
                        of the index numbers of the adapters to be affected or
                        else contains the keyword "all" to select all the
                        adapters. If --adapter is missing, all adapters will
                        be affected.
  -P PERFORMANCELEVELLIST, --performance-level=PERFORMANCELEVELLIST
                        Selects which performance levels returned by --list-
                        adapters should be affected by other atitweak options.
                        PERFORMANCELEVELLIST contains either a comma-separated
                        sequence of the index numbers of the performance
                        levels to be affected or else contains the keyword
                        "all" to select all performance levels. If
                        --performance-level is missing, all performance levels
                        will be affected.

So far, I've only tested this on my own rig (quad 5850s) so it would probably benefit from testing by experienced users.

UPDATE: I've verified that over/under-clocking outside of the BIOS range is possible with the Catalyst 11.6 drivers.

This should be obvious, but...
WARNING: This software may severely damage or destroy your graphics card if used incorrectly!

Please try it out, and let me know if you find any problems or bugs.

Donations welcome! 1Kh3DsAhiu65EC7DFFHDGoGowAp5usQrCG

cheers,
-Mark
1714161294
Hero Member
*
Offline Offline

Posts: 1714161294

View Profile Personal Message (Offline)

Ignore
1714161294
Reply with quote  #2

1714161294
Report to moderator
1714161294
Hero Member
*
Offline Offline

Posts: 1714161294

View Profile Personal Message (Offline)

Ignore
1714161294
Reply with quote  #2

1714161294
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714161294
Hero Member
*
Offline Offline

Posts: 1714161294

View Profile Personal Message (Offline)

Ignore
1714161294
Reply with quote  #2

1714161294
Report to moderator
1714161294
Hero Member
*
Offline Offline

Posts: 1714161294

View Profile Personal Message (Offline)

Ignore
1714161294
Reply with quote  #2

1714161294
Report to moderator
kripz
Full Member
***
Offline Offline

Activity: 182
Merit: 100


View Profile
July 04, 2011, 12:10:28 AM
 #2

As far as im aware, the original AMDOverdriveCtrl cant actually raise the voltage above the default? Can this?

 Merged mining, free SMS notifications, PayPal payout and much more.
http://btcstats.net/sig/JZCODg2
mjmvisser (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile
July 04, 2011, 12:19:19 AM
 #3

As far as im aware, the original AMDOverdriveCtrl cant actually raise the voltage above the default? Can this?

I haven't tried, no desire to fry my cards.
Vladimir
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1001


-


View Profile
July 04, 2011, 12:30:48 AM
Last edit: July 04, 2011, 12:56:07 AM by Vladimir
 #4

Great stuff, thank you. I was waiting for someone to do wrappers around that ADL lib (lazy I know). Will give it a try shortly, on a variety of cards. Thanks Again.

-
Rob P.
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile WWW
July 04, 2011, 11:38:07 AM
 #5

Looks good.  If it can actually change the voltage, then it solves a problem.

FWIW, the Catalyst 11.6 drivers allow you to over/underclock beyond the BIOS limitations already using aticonfig (these cards have never seen Windows or DOS):

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

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

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

--

If you like what I've written here, consider tipping the messenger:
1GZu4CtHa6ai8iWoWiVFxV5VVoNte4SkoG

If you don't like what I've written, send me a Tip and I'll stop talking.
kripz
Full Member
***
Offline Offline

Activity: 182
Merit: 100


View Profile
July 04, 2011, 12:00:33 PM
 #6

Looks good.  If it can actually change the voltage, then it solves a problem.

FWIW, the Catalyst 11.6 drivers allow you to over/underclock beyond the BIOS limitations already using aticonfig (these cards have never seen Windows or DOS):

So i can underclock my memory using aticonfig and not resorting to amdoverdrivectrl?

 Merged mining, free SMS notifications, PayPal payout and much more.
http://btcstats.net/sig/JZCODg2
teukon
Legendary
*
Offline Offline

Activity: 1246
Merit: 1002



View Profile
July 04, 2011, 02:20:19 PM
 #7

Looks good.  If it can actually change the voltage, then it solves a problem.

FWIW, the Catalyst 11.6 drivers allow you to over/underclock beyond the BIOS limitations already using aticonfig (these cards have never seen Windows or DOS):

So i can underclock my memory using aticonfig and not resorting to amdoverdrivectrl?

With Catalyst 11.6, yes.  I'm able to at least.

I only use AMDOverdriveCtrl for changing the voltage.
xarly1
Full Member
***
Offline Offline

Activity: 420
Merit: 100



View Profile
July 04, 2011, 02:51:15 PM
 #8

Anyone know how up voltage on linux, or unlock the stock voltage of a 5830 via flash?

Whit AMDOvDrvCtrl cant up more than stock on 5830 card.

Need up more than stock, same what i can do whit sapphire trixxx on windows.

thx  Wink
gyzer
Jr. Member
*
Offline Offline

Activity: 50
Merit: 10


View Profile
July 04, 2011, 04:09:57 PM
 #9

Will this allow me to get past 900Mhz on my XFX 5830 and 875Mhz on my Sapphire 5830? I'd love to get to about 950 on each card if possible.
mjmvisser (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile
July 04, 2011, 05:19:58 PM
 #10

Will this allow me to get past 900Mhz on my XFX 5830 and 875Mhz on my Sapphire 5830? I'd love to get to about 950 on each card if possible.

I just tried on my 5850 and it won't allow me to go beyond its maximum. atitweak uses the same method to tweak settings as AMDOvDrvCtrl, so you if can't overclock with that tool, you can't overclock with this one.
lebish
Newbie
*
Offline Offline

Activity: 36
Merit: 0


View Profile
July 04, 2011, 06:46:29 PM
 #11

Woo, finally! Ty much, will be testing this soon ^.^
Rob P.
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile WWW
July 05, 2011, 12:52:32 PM
 #12

Will this allow me to get past 900Mhz on my XFX 5830 and 875Mhz on my Sapphire 5830? I'd love to get to about 950 on each card if possible.

I use Catalyst 11.6 to drive my 5830s at 990/600 (308Mhash/sec).  These are Sapphire cards, your milage may vary on XFX.  This is at stock voltage.

The commands I use in my startup script are:

Code:
#Overclock GPU to 990Mhz
DISPLAY=:0 aticonfig --od-enable --adapter=all
DISPLAY=:0 aticonfig --od-setclocks=990,600 --adapter=${1}

Where $1 represents the adapter # of the GPU.

--

If you like what I've written here, consider tipping the messenger:
1GZu4CtHa6ai8iWoWiVFxV5VVoNte4SkoG

If you don't like what I've written, send me a Tip and I'll stop talking.
brunoshady
Sr. Member
****
Offline Offline

Activity: 262
Merit: 250

Dubs Get


View Profile
July 08, 2011, 04:45:35 AM
 #13

mjmvisser:


works like a charm, but Í've seen some strange bug...

when trying to overvolt the stock voltage (from 1.088 (stock) to 1.150), I get failed (obvius) and then the my miner rate just drops and with list it shows the voltage at 1.150

😆
mjmvisser (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile
July 11, 2011, 09:18:02 PM
 #14

works like a charm, but Í've seen some strange bug...

when trying to overvolt the stock voltage (from 1.088 (stock) to 1.150), I get failed (obvius) and then the my miner rate just drops and with list it shows the voltage at 1.150

Do you get the same result with AMDOvDrvCtrl?
padrino
Legendary
*
Offline Offline

Activity: 1428
Merit: 1000


https://www.bitworks.io


View Profile WWW
July 11, 2011, 11:27:44 PM
 #15

Without writing to the i2c interface on the various cards (see radeonvolt for Linux tool) you cannot jump above the BIOS limits, I like how easy this tool is to use, grab the radeonvolt code for reference and merge the two and there is a good path towards a tool getting closer to those available on Windows.

1CPi7VRihoF396gyYYcs2AdTEF8KQG2BCR
https://www.bitworks.io
brunoshady
Sr. Member
****
Offline Offline

Activity: 262
Merit: 250

Dubs Get


View Profile
July 12, 2011, 02:37:31 AM
 #16

works like a charm, but Í've seen some strange bug...

when trying to overvolt the stock voltage (from 1.088 (stock) to 1.150), I get failed (obvius) and then the my miner rate just drops and with list it shows the voltage at 1.150

Do you get the same result with AMDOvDrvCtrl?

can't overvolt in AMDOverdriveCtrl...


that's why it's strange

😆
linkme
Sr. Member
****
Offline Offline

Activity: 324
Merit: 250



View Profile
July 12, 2011, 02:41:17 AM
 #17

giving it a go will let you know my results after a couple of days to see how it goes.

kudos on getting it done Smiley
dishwara
Legendary
*
Offline Offline

Activity: 1855
Merit: 1016



View Profile
July 12, 2011, 05:41:27 PM
 #18

Quote
If you don't use easy_install, you'll need to run "python setup.py install" to install the package.

I downloaded the adl3**.tar.gz & extracted it. Then cd to that folder & ran sudo easy_install adl3 & it said easy_install not found.
So, i run "python setup.py install" , which gave permission denied error.
So, i run
Code:
sudo python setup.py install
which installed correctly. Please edit with "sudo", so noobie's like me do correctly.
Thanks.
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
July 12, 2011, 10:12:43 PM
 #19


Good stuff mjmvisser ... !

coblee
Donator
Legendary
*
Offline Offline

Activity: 1653
Merit: 1286


Creator of Litecoin. Cryptocurrency enthusiast.


View Profile
July 12, 2011, 10:22:36 PM
 #20


Good stuff mjmvisser ... !

Yeah, seriously good stuff. Do you have a donation address?

Pages: [1] 2 3 4 5 6 »  All
  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!