Search content
Sort by

Showing 7 of 7 results by krumplee
Post
Topic
Board Mining
Re: PowerTune
by
krumplee
on 11/07/2011, 21:46:02 UTC
Greetings everyone,

I have tried powertune on several different cards, but only works on 6xxx series.
There are some other undocumented ADL functions out there.
Worth to post them, but I am busy nowadays.
As I will have a little time I will share with you guys.
Someone sent me PM about the posted code above.
He was confused why ADL_Adapter_NumberOfAdapters_Get(int *) gives many adapters.
I will try to explain it next time.

BR, KrumpLee.
Post
Topic
Board Mining
Re: PowerTune
by
krumplee
on 17/05/2011, 07:47:11 UTC
what does it do to your temps?
Just guessing.
Increases.
Smiley
Post
Topic
Board Mining
Re: PowerTune
by
krumplee
on 16/05/2011, 21:58:48 UTC
I get an ADL_ERR when executing this. But it's probably because I use Catalyst 11.2, and I hear that ADL SDK works for 11.3 and newer. Too bad, because 11.3 and newer don't work in my setup for some reason. Still, thanks for the help.
11.5 also out. You may want to try it...
http://www2.ati.com/drivers/linux/ati-driver-installer-11-5-x86.x86_64.run
Post
Topic
Board Mining
Re: PowerTune
by
krumplee
on 16/05/2011, 21:35:13 UTC
@krumplee: how do you use this undocumented function?

Download ADL SDK from http://developer.amd.com/Downloads/ADL_SDK_3.0.zip
It is enough to copy adl_sdk.h into /usr/include

Save the following code as powercontrol.cpp

Code:
#include
#include
#include

using namespace std;

extern "C"
{
    int ADL_Main_Control_Create (ADL_MAIN_MALLOC_CALLBACK, int);
    int ADL_Adapter_NumberOfAdapters_Get(int *);
    int ADL_Overdrive5_PowerControl_Set(int, int);
    int ADL_Overdrive5_PowerControl_Get(int, int *, int *);
}

void* __stdcall Alloc ( int iSize )
{
    void* lpBuffer = malloc ( iSize );
    return lpBuffer;
}

void __stdcall ADL_Main_Memory_Free ( void** lpBuffer )
{
    if ( NULL != *lpBuffer )
    {
        free ( *lpBuffer );
        *lpBuffer = NULL;
    }
}

int main()
{
        int adapters, a=99, b=99;
        if(ADL_Main_Control_Create (Alloc, 1) != ADL_OK)
        {
                cout << "ADL initialization error!" << endl;
                return -1;
        }
        
        if(ADL_Adapter_NumberOfAdapters_Get(&adapters) != ADL_OK)
        {
                cout << "Cannot get the number of adapters!" << endl;
                return -1;
        }
        cout << "Found " << adapters << " adapters" << endl;
        for(int i=0; i        {
                if(ADL_Overdrive5_PowerControl_Set(i, 20) != ADL_OK)
                {
                        cout << "Failed to set " << i << " power control" << endl;
                        return -1;
                } else { cout << "Value set for " << i << endl; }
                
                if(ADL_Overdrive5_PowerControl_Get(i, &a, &b) != ADL_OK)
                {
                        cout << "Failed to get " << i << " power control" << endl;
                        return -1;
                }
                cout << "result: " << a << "%, b: " << b << endl;
        }
        return 0;
}

Finally compile:
g++ -DLINUX -o powercontrol powercontrol.cpp -latiadlxx
Post
Topic
Board Mining
Re: PowerTune
by
krumplee
on 16/05/2011, 20:50:44 UTC
Can't find the "PowerTune" in my CCC (11.5). But i don't belive it would impact that greatly on your bitmining performance since functions like the one you described usually are made to save energy and not increase performance.
Yes, save energy by lowering the core speed which decreases performance.
Anyway I have found how to set PowerControl under linux. There are 2 undocumented functions in libatiadlxx.so
int ADL_Overdrive5_PowerControl_Set(int adapterIndex, int percent); // percent can be between -20 and 20
int ADL_Overdrive5_PowerControl_Get(int adapterIndex, int *resultPercent, int *yetUnknown); // don't know yet what is the third parameter, seems always 0
Using HD6970 setting core speed to 950Mhz and PowerControl percent to 20% significantly increases performance.
I think this will be added to AMDOverdriveCtrl soon and maybe AMD will release a CCC or aticonfig where these values can be set.
This can be useful for mining as well.
Post
Topic
Board Mining
Re: PowerTune
by
krumplee
on 15/05/2011, 16:03:17 UTC
We are using our server with different purpose and have to move from windows to linux to avoid paying for windows on many servers. However I have downloaded Catalyst 11.5 (http://www2.ati.com/drivers/linux/ati-driver-installer-11-5-x86.x86_64.run) and the Windows one is different than the Linux one and I did not see 'Power Control Settings' -20% to +20% under Linux. For our purpose it really increases performance because setting to +20% can achieve approximately 2200 million SHA1 hashes per sec instead of 1700 million per sec with a single 6970 on 950Mhz.
Post
Topic
Board Mining
PowerTune
by
krumplee
on 15/05/2011, 15:38:54 UTC
Hello Gents,

There is 'Power Control Settings' in CCC under Windows, but missing from the Linux version of CCC.
Is there any software that can alter these settings on Linux to achieve the same performance as I can reach on Windows with the same machine using Radeon HD 6970?

Thanks for replies.