Bitcoin Forum

Bitcoin => Mining support => Topic started by: village.idiot on July 12, 2011, 01:34:29 AM



Title: aticonfig syntax/input data?
Post by: village.idiot on July 12, 2011, 01:34:29 AM
I guess I need someone to hold my hand for this.

I've been trying to figure out how to overclock my 5770s with absolutely no luck and a lot of FRUSTRATION!



Thanks to Inaba's help, I can now start my miners.
poclbm$ ./poclbm.py --server=http://<miner_name>:<password>@us.eclipsemc.com:8337 --worksize=128 -v -f 8 --device=1

But I want to tune them for maximum output.
Currently I have
poclbm$ aticonfig --odgc --adapter=all

Adapter 0 - ATI Radeon HD 5700 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    900           1200
             Current Peak :    900           1200
  Configurable Peak Range : [500-1080]     [1200-1450]
                 GPU load :    99%

Adapter 1 - ATI Radeon HD 5700 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    900           1200
             Current Peak :    900           1200
  Configurable Peak Range : [500-1080]     [1200-1450]
                 GPU load :    59%


I've found posts that suggest running the memory at 300 and the GPU at 1000, plus or minus.

Also seen where a guy raises the voltage just slighty as part of the setup.

I believe aticonfig can do all but adjust the voltage but when I try to use it, I get an error.

poclbm$ aticonfig --od-enable
ATI Overdrive(TM) enabled
poclbm$ aticonfig --odsc=900,300
ERROR - Set clocks failed for Default Adapter - ATI Radeon HD 5700 Series
        Please check that input values were valid

Doesn't seem to matter if I use --adapter=0 (or 1)

Here's one card when not mining (just for reference)
poclbm$ aticonfig --odgc --adapter=1

Adapter 1 - ATI Radeon HD 5700 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    157           300
             Current Peak :    900           1200
  Configurable Peak Range : [500-1080]     [1200-1450]
                 GPU load :    0%



I even tried setting the rig up with windows so I could use the oh-so-easy graphical overclocking tools available.  I finally managed to get guiminer to recognize one of the cards but it wouldn't mine.

Yes, I'm that stupid.



Someone please tell me what I'm doing wrong this time.


Title: Re: aticonfig syntax/input data?
Post by: MiningBuddy on July 12, 2011, 02:07:50 AM
You will have to either:
a: Flash the bios on your cards with RBE to remove the memory limit
b: Use the latest 11.7 preview drivers to bypass bios overclocking limits
c: Maybe use ATIOverdrive


Title: Re: aticonfig syntax/input data?
Post by: trentzb on July 12, 2011, 02:14:49 AM
or just use glakkeclock


Title: Re: aticonfig syntax/input data?
Post by: village.idiot on July 12, 2011, 02:47:45 AM
You will have to either:
a: Flash the bios on your cards with RBE to remove the memory limit
b: Use the latest 11.7 preview drivers to bypass bios overclocking limits
c: Maybe use ATIOverdrive
a: I understand that after you determine the best values to use, you should just flash the bios with them.  I need to look at what that process involves.
b: lost me there
c: I remember seeing something about ATIOverdrive.  I'll look into that.

Thanks

or just use glakkeclock
That looks interesting too.  I wonder if he'll add a --set-vddc

Thank you as well


Title: Re: aticonfig syntax/input data?
Post by: trentzb on July 12, 2011, 03:52:28 AM

or just use glakkeclock
That looks interesting too.  I wonder if he'll add a --set-vddc

--set-clocks-vddc/-oscv



Title: Re: aticonfig syntax/input data?
Post by: village.idiot on July 12, 2011, 10:56:33 AM
--set-clocks-vddc/-oscv

I missed that    Cool


Title: Re: aticonfig syntax/input data?
Post by: marvinmartian on July 12, 2011, 08:36:03 PM
--set-clocks-vddc/-oscv

I missed that    Cool

also:

    aticonfig -od-enable

then

    aticonfig  -odsc=<coreclock>,<memclock>

I also have some scripts (in this forum) that use the commands to turn your clocks down if your card(s) reach XX temp.


Title: Re: aticonfig syntax/input data?
Post by: village.idiot on July 12, 2011, 10:28:38 PM
also:

    aticonfig -od-enable

then

    aticonfig  -odsc=<coreclock>,<memclock>

I also have some scripts (in this forum) that use the commands to turn your clocks down if your card(s) reach XX temp.
I tried that.  See 1st post.

I'll start looking at scripts after I get over this speed bump.  he he

Thanks


Title: Re: aticonfig syntax/input data?
Post by: trentzb on July 12, 2011, 11:40:27 PM

Adapter 0 - ATI Radeon HD 5700 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    900           1200
             Current Peak :    900           1200
  Configurable Peak Range : [500-1080]     [1200-1450]
                 GPU load :    99%


poclbm$ aticonfig --odsc=900,300
ERROR - Set clocks failed for Default Adapter - ATI Radeon HD 5700 Series
        Please check that input values were valid

You can't do what you are trying to do with aticonfig (at least with that syntax). Again, you should use glakkeclock.

Look at your aticonfig output above, see where it says "Configurable Peak Range" for both the core and memory? When you specify aticonfig --odsc=900,300 you are telling your card to set the core at 900 and memory at 300 however your memory range only allows 1200-1450 so trying to set memory to 300 will fail.

If you insist on using aticonfig you would use:

Code:
aticonfig --adapter=0 --odsc=900,0

which will set adapter 0 core clock to 900 and will leave memory clock alone (1200).

Further, since you have some core clock headroom (up to 1080 apparently) you can OC the core with:

Code:
aticonfig --adapter=0 --odsc=1080,0

although I would strongly recommend against OC'ng your GPU that high until you fully understand what you are doing.

glakkeclock on the other hand doesn't have these limitations as you can set your clocks and vddc to any value within your BIOS limits. Note: your "Configurable Peak Range" is NOT your BIOS limits but rather your PP (Power Play) limits based on the PP mode your GPU is currently operating in.

Looking at your in use GPU and your idle GPU, if I had to guess I would say your hard BIOS limits are 157 - 1080 for core clock and around 300 - 1450 for mem clock although I suspect your mem might be able to go lower than 300.

To do what you are trying to do (and more) with glakkeclock it would be something like:

Code:
glakkeclock -oscm 300 -oscg 900 -ostcs -osf 65 -cdi 0 

while the GPU is maxed out (PP full load mode, typically mode 2 or 3 I forget). If you set params while the GPU is idle you need to specify the PP mode as an arg to glakkeclock (see -cpl)

The above glakkeclock command sets mem clock to 300 (-oscm 300) , core clock to 900 (-oscg 900), prevent PP clock overlap (-ostcs), set fan to 65% (-osf) on adapter 0 (-cdi 0).

Hope this helps.


Title: Re: aticonfig syntax/input data?
Post by: village.idiot on July 13, 2011, 01:51:00 AM

Adapter 0 - ATI Radeon HD 5700 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    900           1200
             Current Peak :    900           1200
  Configurable Peak Range : [500-1080]     [1200-1450]
                 GPU load :    99%


poclbm$ aticonfig --odsc=900,300
ERROR - Set clocks failed for Default Adapter - ATI Radeon HD 5700 Series
        Please check that input values were valid

You can't do what you are trying to do with aticonfig (at least with that syntax). Again, you should use glakkeclock.
I haven't disagreed with you.  I was only pointing out that I had already tried what he suggested.

Quote
Look at your aticonfig output above, see where it says "Configurable Peak Range" for both the core and memory? When you specify aticonfig --odsc=900,300 you are telling your card to set the core at 900 and memory at 300 however your memory range only allows 1200-1450 so trying to set memory to 300 will fail.
That's something I didn't understand.  I thought it was the range for the maximum speed.  I thought 300 would still be valid for the low end.

Quote
If you insist on using aticonfig you would use:

Code:
aticonfig --adapter=0 --odsc=900,0

which will set adapter 0 core clock to 900 and will leave memory clock alone (1200).
Since that doesn't slow down the memory clock, it wouldn't accomplish what I think I am trying to do.

Quote
Further, since you have some core clock headroom (up to 1080 apparently) you can OC the core with:

Code:
aticonfig --adapter=0 --odsc=1080,0

although I would strongly recommend against OC'ng your GPU that high until you fully understand what you are doing.
I doubt I will ever fully understand what I am doing.  You seem to have a pretty good handle on it though.

Quote
glakkeclock on the other hand doesn't have these limitations as you can set your clocks and vddc to any value within your BIOS limits. Note: your "Configurable Peak Range" is NOT your BIOS limits but rather your PP (Power Play) limits based on the PP mode your GPU is currently operating in.

Looking at your in use GPU and your idle GPU, if I had to guess I would say your hard BIOS limits are 157 - 1080 for core clock and around 300 - 1450 for mem clock although I suspect your mem might be able to go lower than 300.

To do what you are trying to do (and more) with glakkeclock it would be something like:

Code:
glakkeclock -oscm 300 -oscg 900 -ostcs -osf 65 -cdi 0 

while the GPU is maxed out (PP full load mode, typically mode 2 or 3 I forget). If you set params while the GPU is idle you need to specify the PP mode as an arg to glakkeclock (see -cpl)

The above glakkeclock command sets mem clock to 300 (-oscm 300) , core clock to 900 (-oscg 900), prevent PP clock overlap (-ostcs), set fan to 65% (-osf) on adapter 0 (-cdi 0).

Hope this helps.


It's a little less foggy now.

Thanks


Title: Re: aticonfig syntax/input data?
Post by: village.idiot on July 13, 2011, 10:42:37 PM
Okay, I should probably ask this in some other forum but I'm a n00b.

I need to install glakkeclock but I can only find it as a tar.gz file and I'm running PinguyOS which is Mint/Ubuntu/debian base.
Searching for how to convert or install it, I discovered it has to be compiled.

Could someone please point me to the detailed steps to do this?  I can't seem to find any.
Remember, I'm not only a n00b, but the village idiot.

Feeling like I've jumped into Linux at the deep end. ???


Title: Re: aticonfig syntax/input data?
Post by: village.idiot on July 24, 2011, 06:02:09 PM
or just use glakkeclock

Could you give me a little help here?  After all this time I still can't seem to get it installed.

I can download the tar.gz file to my computer and use tar xvzf glakkeclock-1.0-rc2.tar.gz
or I can download it and have the Archive Manager extract the files.
Either way I get a directory with cmake, CMakeLists.txt, man, README.md and src.
I can't figure out how to read the README.md.

After I cd to the glakkeclock directory and enter ./configure ,I get
bash: ./configure: No such file or directory

So what's the right way to do this?


Title: Re: aticonfig syntax/input data?
Post by: trentzb on July 24, 2011, 06:25:18 PM
You can open README.md with a text editor. You will need the AMD ADL SDK also. It should go something like this:

Code:
cd /wherever/you/unpacked/glakkeclock
mkdir ADL && cd ADL
wget http://download2-developer.amd.com/amd/GPU/zip/ADL_SDK_3.0.zip
unzip ADL_SDK_3.0.zip
cp -a include ../src/ADL
cd ..
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
make
make install


Title: Re: aticonfig syntax/input data?
Post by: village.idiot on July 24, 2011, 06:38:21 PM
Almost there...

prompt:~/glakkeclock/build$ make install
[100%] Built target glakkeclock
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/share/man
CMake Error at cmake_install.cmake:36 (FILE):
  file INSTALL cannot set permissions on "/usr/share/man"


make: *** [install] Error 1
prompt:~/glakkeclock/build$


Title: Re: aticonfig syntax/input data?
Post by: trentzb on July 24, 2011, 06:44:32 PM
Sorry, that should have been:

Code:
sudo make install


Title: Re: aticonfig syntax/input data?
Post by: village.idiot on July 24, 2011, 06:50:57 PM
THAT WORKS!!

Now I can play with it!

THANK YOU
THANK YOU
THANK YOU

I'll be glad when the day comes that I understand all this Linux-Greek


Title: Re: aticonfig syntax/input data?
Post by: marvinmartian on July 24, 2011, 07:36:57 PM
Got glakkeclock built but it doesn't allow me to underclock memory.  It "thinks" it is.  But my cards still clock as they were before.  ;-(


Title: Re: aticonfig syntax/input data?
Post by: village.idiot on July 24, 2011, 07:48:27 PM
I now have my memory at 300.  Glakkeclock seems to indicate it could go to 150 but I get an error if I try it.
I've got my GPU up to 950 now (planning to go higher) and my hash rate came up while my cards are nice and cool.

Happy Camper

Thanks again, trentzb


Title: Re: aticonfig syntax/input data?
Post by: marvinmartian on July 26, 2011, 05:02:23 PM
Really?  How?  I compiled it and it "works" but whenever I try (for example) to set my clocks to 900,300 it only sets the peak, not the current clock for memory.  It also does something odd with core, narrowing the range to something like 824-889 or something like that.  I think it's an issue with the "smooth" flag or whatever that was.

Did you do something else prior in order to help glakkeclock set your memory clocks so low?

I now have my memory at 300.  Glakkeclock seems to indicate it could go to 150 but I get an error if I try it.
I've got my GPU up to 950 now (planning to go higher) and my hash rate came up while my cards are nice and cool.

Happy Camper

Thanks again, trentzb


Title: Re: aticonfig syntax/input data?
Post by: marvinmartian on July 26, 2011, 05:16:52 PM
Here's an example.  Current clocks:

Default Adapter - AMD Radeon HD 6900 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    824           1250
             Current Peak :    824           1250
  Configurable Peak Range : [500-840]     [1250-1325]
                 GPU load :    99%

Default Adapter - AMD Radeon HD 6900 Series
                  Sensor 0: Temperature - 74.00 C
Fan speed query:
Query Index: 0, Speed in percent
Result: Fan Speed: 82%


Now I try:

glakkeclock -oscm 300 -cdi 0
[ERROR] <ADLManager> Generic Error. Most likely one or more of the Escape calls to the driver failed!
[ERROR] <ADLManager> ADL_Overdrive5_ODPerformanceLevels_Set
[ERROR] <Main> Error when setting clocks/vddc.
[WARNING] <Main> Performance level 0's values are higher then 2's specified clocks.
[WARNING] <Main> Performance level 1's values are higher then 2's specified clocks.


So then I try:

glakkeclock -Cpl 0 -oscg 800 -oscm 300
glakkeclock -Cpl 1 -oscg 800 -oscm 300
glakkeclock -Cpl 2 -oscg 800 -oscm 300


And now I have:

Default Adapter - AMD Radeon HD 6900 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    800           1250
             Current Peak :    800           300
  Configurable Peak Range : [800-840]     [300-1325]
                 GPU load :    99%

Default Adapter - AMD Radeon HD 6900 Series
                  Sensor 0: Temperature - 74.50 C
Fan speed query:
Query Index: 0, Speed in percent
Result: Fan Speed: 82%


But I can't set the core memory CLOCK to anything below 1250.  Just the peak low end. 

aticonfig --odsc=800,500

Default Adapter - AMD Radeon HD 6900 Series
                  New Core Peak   : 800
                  New Memory Peak : 500


Which gives me:

Default Adapter - AMD Radeon HD 6900 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    800           1250
             Current Peak :    800           500
  Configurable Peak Range : [800-840]     [300-1325]
                 GPU load :    99%

Default Adapter - AMD Radeon HD 6900 Series
                  Sensor 0: Temperature - 74.50 C
Fan speed query:
Query Index: 0, Speed in percent
Result: Fan Speed: 84%


So while it seems to let me reset the low end of things, it won't let me actually change the clocks.  I must be doing something wrong, but I'm not sure what.



Title: Re: aticonfig syntax/input data?
Post by: trentzb on July 26, 2011, 05:21:31 PM
If your card(s) are supported then the following will set your mem clocks to 300 for adapter 0:

Code:
glakkeclock -oscm 300 -ostcs -cdi 0

Remember you have to issue this command while the card is under full load (PP mode 2 I believe) else you will be adjusting the values for the idle mode or whatever mode the card is currently operating in. Alternately you can specify the PP mode to apply values to (-cpl I believe) but I have never tried that so I am not sure.


Title: Re: aticonfig syntax/input data?
Post by: trentzb on July 26, 2011, 05:24:38 PM
ahh, I haven't seen that Generic Error before. Try using the command I listed and see what happens. And try just doing mem itself and the core itself before doing both in one call.


Title: Re: aticonfig syntax/input data?
Post by: marvinmartian on July 26, 2011, 05:40:08 PM
ahh, I haven't seen that Generic Error before. Try using the command I listed and see what happens. And try just doing mem itself and the core itself before doing both in one call.

No dice.  Same behavior.  All glakkeclock does is seem to reset the lower end for peaks not actual clocks.  Even if I use aticonfig to then subsequently reset the clocks to somewhere in the new lowered range, it only does the peak.  The effective clock remains the same.

I've tried under 0 load and full load.  Same behavior.

./glakkeclock -oscm 300 -oscg 600 -ostcs -cdi 0

Default Adapter - AMD Radeon HD 6900 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    600           1250
             Current Peak :    600           300
  Configurable Peak Range : [600-840]     [300-1325]
                 GPU load :    99%

Default Adapter - AMD Radeon HD 6900 Series
                  Sensor 0: Temperature - 72.50 C
Fan speed query:
Query Index: 0, Speed in percent
Result: Fan Speed: 79%


Then:

aticonfig --odsc=700,300


Gives:

Default Adapter - AMD Radeon HD 6900 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    700           1250
             Current Peak :    700           300
  Configurable Peak Range : [600-840]     [300-1325]
                 GPU load :    0%

Default Adapter - AMD Radeon HD 6900 Series
                  Sensor 0: Temperature - 72.00 C
Fan speed query:
Query Index: 0, Speed in percent
Result: Fan Speed: 75%


So, it seems as though glakkeclock works for core clocks and peaks, but not for memory clocks.  

It only seems to reset memory "peak" which from what I can tell does nothing.  My chip runs at the same temp and mH/s.  Similarly, the memory clock remains unchanged.

EDIT:  If I try to set my memory clocks somewhere ABOVE the factory default minimum of 1250, that still does work.  So there seems to be something in the card (?) that is only allowing glakkeclock to mess with core settings, not memory.

EDIT2:  Tried backing down clocks more slowly.  Guess what, glakkeclock WILL let me set memory to as low as 700, but that's it.  Anything below 700 and it's the same behavior as above.

Sadly, that doesn't give me much help in terms of temp and/or speed.  My chips are already running close to max core (835/840) at 75C.  Changing the memory clock to 700 does save me a few deg C (down to 72.5) but no love in terms of speed.  ;-(


Title: Re: aticonfig syntax/input data?
Post by: trentzb on July 26, 2011, 06:28:09 PM
That seems odd. I can't confirm or deny as I don't have 69xx cards.

Just for kicks, try the following (after reboot/reset and running full load) and report what you find:

Code:
./glakkeclock -ogcm -ogpl -cdi 0
./glakkeclock -oscm 400 -ostcs -cdi 0
./glakkeclock -ogcm -cdi 0
./glakkeclock -hgil -cdi 0

Also, Andre has been extremely helpful with resolving issues with glakkeclock. I believe his email is in the header of source code. I contacted him some months ago with issues and we worked together via IRC to resolve issues and clean up some code.


Title: Re: aticonfig syntax/input data?
Post by: marvinmartian on July 26, 2011, 06:38:05 PM
./glakkeclock -ogcm -ogpl -cdi 0
2
1250

# It won't let me set mem clock here either to anything that low

./glakkeclock -oscm 400 -ostcs -cdi 0
./glakkeclock -ogcm -cdi 0
1250

./glakkeclock -hgil -cdi 0
Name: AMD Radeon HD 6900 Series
UDID: 256:26393:4098:12579:5762
Index: 0
Adapters: 4
Part: 113-695ZNF72-113-AC93301-100_XF
Version: 013.012.000.009.000000
Date: 03/30/11 23:45

Current Performance Level: 2 [0-2]
GPU (MHz): 831 [125-840]
Memory (MHz): 1250 [75-1325]
VDDC Volt (mV): 1100 [900-1100]
Temperature (C): 74
Fan RPM: 4317 [800-6000]
Fan percent (%): 85 [0-100]
GPU Activity (%): 99
Current Bus Lanes: 16/16
Current Bus Speed: 5000

Performance Level: 0
GPU (MHz): 250 [125-840]
Memory (MHz): 150 [75-1325]
Vddc (mV): 900 [900-1100]

Performance Level: 1
GPU (MHz): 831 [125-840]
Memory (MHz): 400 [75-1325]
Vddc (mV): 1100 [900-1100]

Performance Level: 2
GPU (MHz): 831 [125-840]
Memory (MHz): 400 [75-1325]
Vddc (mV): 1100 [900-1100]
topper@digger2:~/bin$

Oh well, not a big deal.  The cards are running 95% and above factory core peak.  Worst case I'm burning some watts on the higher memory clock.


Title: Re: aticonfig syntax/input data?
Post by: trentzb on July 26, 2011, 07:18:48 PM
Did you mention that aticonfig also doesn't allow you to set mem clock to where you need it? I don't recall if you mentioned this or not.