Bitcoin Forum

Bitcoin => Mining software (miners) => Topic started by: tenzor on March 12, 2012, 07:51:34 AM



Title: Graphs - memory clock / performance / kernels
Post by: tenzor on March 12, 2012, 07:51:34 AM
Link for this theme in russian https://bitcointalk.org/index.php?topic=68839.0

Here is some graphs with correlation of memory clock and performance in MH/s.  

All graphs available here: http://ocakypa.dyndns.biz/miner/

https://i.imgur.com/4gYKil.png (http://ocakypa.dyndns.biz/miner/)

And script to produce that

http://pastebin.com/qkCFBEUr

requires screen

Copy it into cgminer's directory. Make sure you change values on config section. Results will appear in directory defined in "results" variable. Make sure it writable.
Cgminer always include default config, so rename it or remove. Config to run cgminer in "cgminer_config_path" var. Here is my config for device #0 (test0.conf)
Code:
{
"pools" : [
        {
                "url" : "http://pit.deepbit.net:8332",
                "user" : "XXX",
                "pass" : "XXX"
        }
],
"intensity" : "9",
"gpu-engine" : "0-930",
"gpu-fan" : "0-85",
"gpu-powertune" : "0",
"gpu-vddc" : "0.000",
"temp-cutoff" : "95",
"temp-overheat" : "85",
"temp-target" : "75",
"auto-fan" : true,
"expiry" : "120",
"gpu-threads" : "2",
"log" : "5",
"no-restart" : true,
"queue" : "1",
"retry-pause" : "5",
"scan-time" : "60",
"temp-hysteresis" : "3",
"api-listen" : true,
"donation" : "0.00",
"shares" : "0",
"kernel-path" : "/usr/local/bin"
}

sometimes X server hangs, in this case script will create file "reboot_required" in current dir, so you could use ither script to reboot automatically

First parameter is device number to run tests on. It 0 by default.

Also run another instances of cgminer befor running this script, because it will overwrite another GPU clock values.

Sometimes identical GPUs with same clocks produce different MH/s, so be careful comparing results from different GPU.

Results will appear in subfolders in json files. I wrote php script that draw graphs. http://dl.dropbox.com/u/569082/cgminer-tester.zip Put it into webserver webroot somewere, tests put in tests dir inside.

UPD0: script on pastebin
UPD1: upd script
UPD2: picture changed


Title: Re: Graphs - memory clock / performance / kernels
Post by: Global BTC on March 12, 2012, 09:38:52 AM
Very nice!


Title: Re: Graphs - memory clock / performance / kernels
Post by: Jay_Pal on March 13, 2012, 08:54:02 AM
This is very nice but couldn't manage to make it work.
It stood there 2H generating a tree under the folder i choose, but all files were empty.
Here are the configurations I changed:

Code:
#!/bin/bash

#######
#config
#######


cgminer_config_path="~/cgminer-2.3.1-2-x86_64-built/"
#filename for config files should be "test0.conf",
#"test1.conf", "testX.conf" where X is device number

#intencity will not change during tests
Intencity=9

#each iteration test time in seconds
duration=180

#directory where to save result files
results="teste"
#result files prefix
prefix="HD5550"



#ranges to test in
kernel="diakgcn phatk diablo poclbm"
worksize="64 128 256"
vectors="1 2 4"

engine_clock_from=500
engine_clock_to=700
engine_clock_step=5

memclock_from=150
memclock_to=800
memclock_step=5


#######
#end config
#######

And here, the test0.conf I've put in ~/cgminer-2.3.1-2-x86_64-built/teste/ and ~/cgminer-2.3.1-2-x86_64-built/:

Code:
{
"pools" : [
        {
                "url" : "http://api2.bitcoin.cz:8332",
                "user" : "XmyUserX",
                "pass" : "YmyPasswordY"
        }
],

"intensity" : "6",
"vectors" : "2",
"worksize" : "128",
"gpu-engine" : "650-695",
"gpu-fan" : "0-85",
"gpu-memclock" : "0",
"gpu-memdiff" : "150",
"gpu-powertune" : "0",
"gpu-vddc" : "1.020",
"temp-cutoff" : "58",
"temp-overheat" : "57",
"temp-target" : "55",
"api-port" : "4028",
"auto-fan" : true,
"auto-gpu" : true,
"expiry" : "120",
"gpu-dyninterval" : "7",
"gpu-platform" : "0",
"gpu-threads" : "2",
"log" : "5",
"queue" : "1",
"retry-pause" : "5",
"scan-time" : "60",
"temp-hysteresis" : "3",
"shares" : "0",
"kernel-path" : "/usr/local/bin"
}
I also renamed ~/.cgminer/cgminer.conf so cgminer wouldn't pick it up.


Title: Re: Graphs - memory clock / performance / kernels
Post by: tenzor on March 13, 2012, 10:34:42 AM
try change
--api-allow=W:127.0.0.1
to
--api-allow=127.0.0.1

its in line 155 or close


Title: Re: Graphs - memory clock / performance / kernels
Post by: lueo on March 13, 2012, 04:04:57 PM
Great graph! I've always want to have this kind of analysis!!


Title: Re: Graphs - memory clock / performance / kernels
Post by: Global BTC on March 13, 2012, 04:31:07 PM
Is there any way this can be run on Windows?


Title: Re: Graphs - memory clock / performance / kernels
Post by: Jay_Pal on March 13, 2012, 05:40:13 PM
Changed it, but still getting 0b files...
Is it normal?

Code:
:~/cgminer-2.3.1-2-x86_64-built/teste/HD5550/diakgcn/w64/v1/m150$ ls -l
total 0
-rw-rw-r-- 1 rui rui 0 2012-03-13 17:37 e500.json
-rw-rw-r-- 1 rui rui 0 2012-03-13 17:38 e505.json

(Grr.... why can't I post anything without editing it again..?! :D)

This is the output while working (inside screen):

Code:
~/cgminer-2.3.1-2-x86_64-built$ ./graph.sh 0
./graph.sh: line 52: [: 0: unary operator expected
mkdir: cannot create directory `teste': File exists
-v1 -w64 -kdiakgcn --gpu-memclock=150 --gpu-engine=500
ETA:   670796:25
-v1 -w64 -kdiakgcn --gpu-memclock=150 --gpu-engine=505
ETA:   670792:50
-v1 -w64 -kdiakgcn --gpu-memclock=150 --gpu-engine=510
ETA:   670789:15
-v1 -w64 -kdiakgcn --gpu-memclock=150 --gpu-engine=515
ETA:   670785:40
-v1 -w64 -kdiakgcn --gpu-memclock=150 --gpu-engine=520
ETA:   670782:05
 = Time left: 140

I'm dying to see the results!! :D


Title: Re: Graphs - memory clock / performance / kernels
Post by: tenzor on March 14, 2012, 03:07:57 AM
Changed it, but still getting 0b files...
Is it normal?

Try to put
"api-listen" : true,
to config file

Or download new file from pastebin, 'cause
Quote
./graph.sh: line 52: [: 0: unary operator expected
is not normal neither.
I'm not sure until what version you should remove "W:" prefix, but I think it's 2.1. So just dosnload new version of script


Title: Re: Graphs - memory clock / performance / kernels
Post by: Nancarrow on March 15, 2012, 02:11:19 PM
Wow! What curious results.

How much work has previously been done determining the relationship between memclock and hash speeds?

The noob version is that hash speed is independent of memclock, so set memclock as low as possible to keep power consumption, heat generation and fan speeds nice and low. But these graphs suggest that's by no means the whole story.

The most interesting thing is the periodicity... what's up with that? Are you sure that's not an artifact of some kind (or in coarser language, a bug)?


Title: Re: Graphs - memory clock / performance / kernels
Post by: tenzor on March 16, 2012, 06:57:39 AM
The most interesting thing is the periodicity... what's up with that? Are you sure that's not an artifact of some kind (or in coarser language, a bug)?

It was a bug. Image was created from incorrect results. Running multiple instances on different GPUs at one time cause this periodic. In my case I have 4 GPUs, so period is 4.
I just changed picture now. For all correct results you can use link below the puctire. At this moment I have tests for 5850/5870/6770.


Title: Re: Graphs - memory clock / performance / kernels
Post by: Jay_Pal on March 16, 2012, 01:06:44 PM
This is weird...
Iv'e been digging around for the "./graph.sh: line 52: [: 0: unary operator expected" and tried this:

Code:
user@Machine:~/cgminer-2.3.1-2-x86_64-built$ export DISPLAY=:0
user@Machine:~/cgminer-2.3.1-2-x86_64-built$ ./cgminer -n
[2012-03-16 13:00:06] CL Platform 0 vendor: Advanced Micro Devices, Inc.
[2012-03-16 13:00:06] CL Platform 0 name: AMD Accelerated Parallel Processing
[2012-03-16 13:00:06] CL Platform 0 version: OpenCL 1.1 AMD-APP-SDK-v2.5 (684.213)
[2012-03-16 13:00:06] Platform 0 devices: 1
[2012-03-16 13:00:06] GPU 0 ATI Radeon HD 5500 Series hardware monitoring enabled
[2012-03-16 13:00:06] 1 GPU devices max detected
user@Machine:~/cgminer-2.3.1-2-x86_64-built$ ./cgminer -n | grep "devices:" | sed 's/.*devices: //'
user@Machine:~/cgminer-2.3.1-2-x86_64-built$

Although cgminer outputs the correct code, grepping it returns no value.
Code:
user@Machine:~/cgminer-2.3.1-2-x86_64-built$ ./cgminer -n | grep "devices:"
user@Machine:~/cgminer-2.3.1-2-x86_64-built$ ./cgminer -n
[2012-03-16 13:04:04] CL Platform 0 vendor: Advanced Micro Devices, Inc.
[2012-03-16 13:04:04] CL Platform 0 name: AMD Accelerated Parallel Processing
[2012-03-16 13:04:04] CL Platform 0 version: OpenCL 1.1 AMD-APP-SDK-v2.5 (684.213)
[2012-03-16 13:04:04] Platform 0 devices: 1
[2012-03-16 13:04:04] GPU 0 ATI Radeon HD 5500 Series hardware monitoring enabled
[2012-03-16 13:04:04] 1 GPU devices max detected
user@Machine:~/cgminer-2.3.1-2-x86_64-built$ ./cgminer -n | grep " devices:"
user@Machine:~/cgminer-2.3.1-2-x86_64-built$ ./cgminer -n | grep devices:
user@Machine:~/cgminer-2.3.1-2-x86_64-built$ ./cgminer -n | grep devices
user@Machine:~/cgminer-2.3.1-2-x86_64-built$

Since i only have one device, can I bypass that check, somehow?

thank you for your patience!


Title: Re: Graphs - memory clock / performance / kernels
Post by: Nancarrow on March 16, 2012, 10:40:50 PM

It was a bug. Image was created from incorrect results. Running multiple instances on different GPUs at one time cause this periodic. In my case I have 4 GPUs, so period is 4.
I just changed picture now. For all correct results you can use link below the puctire. At this moment I have tests for 5850/5870/6770.

Awww.  :(

Your new graphs are really boooooring.


Title: Re: Graphs - memory clock / performance / kernels
Post by: tenzor on March 17, 2012, 09:36:12 AM
This is weird...
Iv'e been digging around for the "./graph.sh: line 52: [: 0: unary operator expected" and tried this:

.....

Since i only have one device, can I bypass that check, somehow?

thank you for your patience!

just change this
cards=`./cgminer -n | grep "devices:" | sed 's/.*devices: //'`
to this
cards=1



Title: Re: Graphs - memory clock / performance / kernels
Post by: tenzor on March 17, 2012, 09:39:24 AM
Awww.  :(

Your new graphs are really boooooring.

But now you hnow this :P


Title: Re: Graphs - memory clock / performance / kernels
Post by: malevolent on March 17, 2012, 06:04:19 PM


Which drivers and SDK versions did you use?

EDIT: just saw that russian thread, 11.6 and 2.4, anyone can tell what was the OS (linux thats all I know, is it bamt perchance?)


Title: Re: Graphs - memory clock / performance / kernels
Post by: tenzor on March 18, 2012, 07:16:14 AM
its lubuntu 11.04


Title: Re: Graphs - memory clock / performance / kernels
Post by: malevolent on March 18, 2012, 10:45:07 AM
its lubuntu 11.04

thanks, is it 32 or 64 bit?


Title: Re: Graphs - memory clock / performance / kernels
Post by: tenzor on March 18, 2012, 12:07:12 PM
its lubuntu 11.04

thanks, is it 32 or 64 bit?
32 :)


Title: Re: Graphs - memory clock / performance / kernels
Post by: Jay_Pal on March 20, 2012, 05:45:52 PM
Yay!!!
Now it is working!!!
Thank you very much!!!