Bitcoin Forum

Bitcoin => Mining software (miners) => Topic started by: gat3way on April 29, 2011, 11:29:33 PM



Title: hashkill - testing bitcoin miner plugin
Post by: gat3way on April 29, 2011, 11:29:33 PM
Hello,

I am developing an opensource linux CPU/GPU hash cracker and recently got introduced to bitcoin world and decided to write a bitcoin miner as part of my program (as I can reuse most of my sha256 code).

My bitcoin plugin is in alpha stage, but it already does some pretty handy stuff, e.g:

* Does BFI_INT patching
* Is extremely optimized using some optimization tricks I borrowed from my sha256 plugin (40 GPRs, less than 2890 ALU ops and over 97% ALUPacking on 6870 - it's VLIW5)
* Supports multi-gpu configurations (no need to run separate instances for each device)
* Supports NVidia and ATI (4xxx support is broken though for some reason I have yet not identified)
* Supports long polling
* Does not quit on connection failure, instead it retries after 20 seconds
* Has a relatively smart getwork asking mechanism that does not generate much network traffic and is suitable for pools like bitcoinpool.com where efficiency is important
* Integrated support for getting stats from pools (currently only bitcoinpool.com, deepbit.net and mining.bitcoin.cz)
* Is simple to use
* Preserves high performance without sacrificing desktop responsiveness

It is in alpha stage and at that point I prefer not to release the source of the plugin (except the kernels that look ugly :) ). Nevertheless, I have compiled a x86_64 binary, statically linked (so that you don't have to deal with dependency issues):

64bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz

32-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz

Installation is simple - just run sudo ./install.sh (it requires superuser privileges in order to copy the plugins and kernels to /usr/share/)

Usage is also simple, just run:

hashkill-gpu -p bitcoin user:password:host:port [-a addopts]

e.g

hashkill-gpu -p bitcoin gat3way:mypassword:bitcoinpool.com:8334 -a gat3way

tested with bitcoinpool.com, deepbit.net and mining.bitcoinpool.cz

the -a option provides a way to get stats from the pool, you need to provide your API key or your username (bitcoinpool.com). If you do that, you get stats on curreent reward by pressing the enter key while mining.


You can try it if interested. BTW it is very fast, probably among the fastest miners out there. I did some tests with the latest versions of poclbm, phoenix and hashkill on my 6870 card (stock clocks) and the results are:

Quote
hashkill: 271M/s
poclbm (-f1 -w128 -v) : 263M/s
phoenix (BFI_INT VECTORS AGGRESSION=11 FASTLOOP): 256M/s

There is a screenshot:

http://img864.imageshack.us/img864/6299/miner2.png


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Tyran on April 30, 2011, 12:31:16 AM
This kernel should be about 10% faster than the phoenix/poclbm one according to AMD's kernel analyzer, but I'm currently on windows so I can't use your binary and I can't figure out what the inputs are to try it with a different miner :p


Title: Re: hashkill - testing bitcoin miner plugin
Post by: ghost on April 30, 2011, 12:40:35 AM
No 32-bit binary?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: JWU42 on April 30, 2011, 12:54:28 AM
Code:
jw@Krypton:~/BTC/hashkill-0.2.4-x86_64$ hashkill-gpu
hashkill-gpu: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory

LD_LIBRARY_PATH is set in .bashrc and have no issues running poclbm or phoenix FWIW


Title: Re: hashkill - testing bitcoin miner plugin
Post by: fpgaminer on April 30, 2011, 01:04:51 AM
Quote
phoenix (BFI_INT VECTORS AGGRESSION=11 FASTLOOP): 256M/s
You're not using phoenix correctly. FASTLOOP only works correctly for AGGRESSION < 8. Remove the FASTLOOP argument and retest.

EDIT: You also don't specify the worksize for phoenix. Not sure what that card needs (I'm guessing 128 by the poclbm command you posted).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Zamicol on April 30, 2011, 05:56:24 AM
Code:
jw@Krypton:~/BTC/hashkill-0.2.4-x86_64$ hashkill-gpu
hashkill-gpu: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory

LD_LIBRARY_PATH is set in .bashrc and have no issues running poclbm or phoenix FWIW



I'm having the same issue. 


Title: Re: hashkill - testing bitcoin miner plugin
Post by: zoro on April 30, 2011, 06:16:38 AM
ca we have it in windows plz? :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: xyzzy on April 30, 2011, 07:14:19 AM
Code:
jw@Krypton:~/BTC/hashkill-0.2.4-x86_64$ hashkill-gpu
hashkill-gpu: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory

LD_LIBRARY_PATH is set in .bashrc and have no issues running poclbm or phoenix FWIW


Code:
cd /opt/ati-stream-sdk-v2.1-lnx64/lib/x86_64/lib; sudo ln -s libOpenCL.so libOpenCL.so.1

I get a bit farther than that, but have a different problem:

Quote
crunch@crunch:~/hashkill-0.2.4-x86_64$ uname -a
Linux crunch 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 GNU/Linux
crunch@crunch:~/hashkill-0.2.4-x86_64$ ./hashkill-gpu -p bitcoin xxxx:xxx:deepbit.net:8332

[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Juniper
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)[error] (ocl_bitcoin.c:923) clBuildProgram error (-11)
[hashkill] Attack took 12 seconds.
[hashkill] Bye bye :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: stakhanov on April 30, 2011, 07:47:50 AM
[hashkill] Attack took 12 seconds.
[hashkill] Bye bye :)


ಠ_ಠ


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on April 30, 2011, 07:57:53 AM

[hashkill] Attack took 12 seconds.
[hashkill] Bye bye :)

ಠ_ಠ
[/quote]

oh my... :o


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on April 30, 2011, 09:13:06 AM
Hello,

The dependance on OpenCL.so.1 is my mistake, I have built it against SDK 2.4 and should fix that. A quick workaround would be to create a symlink libOpenCL.so -> libOpenCL.so.1. Also, it may not work with SDK < 2.3 cause I set some environment variables introduced in 2.3 to speed up host-device transfers a bit and properly support multi-GPU without 100% CPU load

Quote
[hashkill] Attack took 12 seconds.
[hashkill] Bye bye

Yeah, this comes from the fact that the tool is a hash cracker anyway :) the bitcoin functionality is a testing one and yet has not been integrated properly yet so in this case we're reusing the generic deinitialization routine used for the hash cracking code. As I said, it's still an alpha, there are many things that need to be done before it reaches release quality :)


As for 32-bit version, there are some issues with cross-compilation at that moment that I am working on currently. Should be ready in 1-2 days.

As for windows version - not planned, sorry.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: commlinx on April 30, 2011, 09:13:57 AM
I suspect that message is generic because he's reused hash cracker code and it's part of the standard exit code to say how long the "attack" on the hash took, and it exited because of the error instead of requesting more work. Otherwise putting that error would't be a very smart piece of social engineering, would have been much better to report a higher than normal hash rate and then fake a crash reporting it back to the server to get more people to try.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: marcus_of_augustus on April 30, 2011, 09:32:51 AM

Quote
I am developing an opensource linux CPU/GPU hash cracker ....

Quote
at that point I prefer not to release the source of the plugin

So is it open source is isn't it?

I'm not going near this until more eyes have been over it ... like more than yours. Hope it is for real, sounds too good to be true in some ways.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on April 30, 2011, 09:37:15 AM
The source of the plugin will be available once it reaches "production" quality, right now I would be a bit embarassed to put it in public, cause it's ugly :) I need some more test feedback though as I don't have the variety of hardware to test...


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bitcoincomes on April 30, 2011, 09:40:02 AM
I am also getting the error:

Code:
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)[error] (ocl_bitcoin.c:923) clBuildProgram error (-11)

I am running ubuntu 10.10 with SDK 2.1

Thanks.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on April 30, 2011, 09:46:26 AM
Please try it with SDK 2.3 (or later, but since 2.4 updates the ICD files, I would recommend 2.3). It is relatively safe and compatible with 2.1 - you just download and unpack it and point LD_LIBRARY_PATH to SDK2.3's library path.

Anyway, peak performance would be achieved with 2.4 as the compiler aggressively optimizes some parts of the code, lowering the number of ALU instructions needed.

SDK 2.1 is too old...it has no OpenCL 1.1 support and is not thread-safe. It has also other problems, e.g rotate() not generating BIT_ALIGN_INT instructions and stuff.

P.S retested phoenix with WORKSIZE=128 and without FASTLOOP. It is indeed faster, in fact as fast as poclbm (263M/s). hashkill is still faster at 271M/s :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: nster on April 30, 2011, 10:41:28 AM
how hard would it be to make a windows version?  I'm sure people would contribute a few btc for it if it really is faster than poclbm


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on April 30, 2011, 11:06:55 AM
Well it would require code changes as well as changes in the autoconf/automake part to build properly on windows/cygwin cause right now it depends a lot on some linux specific stuff (like procfs and/or some linux-specific API functions). However, windows version is not in my near plans. It is more likely that an MacOSX port will be done first as I had such requests for the hash cracker and it would be relatively easy. Porting to windows would be much more difficult though.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Convery on April 30, 2011, 11:15:17 AM
Porting to windows would be much more difficult though.

I'm sure that someone can do that for you when you release the source to a stable version :3


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Pieter Wuille on April 30, 2011, 11:38:21 AM
Code:
[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at mining.bitcoin.cz:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 457180
[hashkill] Doing BFI_INT magic...

Mining statistics...
Speed: -1478477178 MPlaintexts/sec [cur: 62%] [proc: 20] [subm: 30] [stale: 0] [eff: 150%]     


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on April 30, 2011, 11:49:31 AM
That's weird. Does the pool report submitted shares?

Ah, I see now - it uses signed int and you're mining faster than 2G per 3s. OK, fixing that now...


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on April 30, 2011, 12:59:14 PM
OK - fixed some stuff and rebuilt.

The progress indicator issue should be gone.
Removed dependency on OpenCL.so.1 so that it can be run with older SDKs
Built a 32-bit static-linked binary

64-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz

32-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz


Title: Re: hashkill - testing bitcoin miner plugin
Post by: twitcoins on April 30, 2011, 02:53:27 PM
I get 312 Mhash/s on both poclbm and phoenix, but only 208 with hashkill.  Any useful information I can grab for you, command line switches to try, etc?

hashkill 0.2.4 x86_64, fglrx 8.801, LD_LIBRARY_PATH points to 2.3


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on April 30, 2011, 04:49:37 PM
Hmm...perhaps an ISA dump would be useful to debug the problem.

You can do that by running export GPU_DUMP_DEVICE_KERNEL=3 prior to running hashkill (you need to be in a writable directory like e.g /tmp).

Then after say 30 seconds, stop execution (ctrl-c) and look for a file named bitcoin_<GPUmodel>.isa (e.g bitcoin_Cypress.isa). Please paste this file contents so that I have a look at it.

P.S. you would need ~ 5-10 seconds until speed peaks at maximum, it usually starts at lower speed and gradually increases. As for switches, you might try -G 3 and/or -D and see if it affects performance positively.

P.S 2: also please do not run the 32-bit version on a 64-bit system: it tends to be way slower. And (again) use SDK 2.3 or newer.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: xyzzy on April 30, 2011, 10:32:31 PM
Hmm...perhaps an ISA dump would be useful to debug the problem.

You can do that by running export GPU_DUMP_DEVICE_KERNEL=3 prior to running hashkill (you need to be in a writable directory like e.g /tmp).

Then after say 30 seconds, stop execution (ctrl-c) and look for a file named bitcoin_<GPUmodel>.isa (e.g bitcoin_Cypress.isa). Please paste this file contents so that I have a look at it.

I'm not the other guy, but I'm seeing some weird results.  I can't tell *what* performance I'm getting out of your client -- it's showing me very strange results:


Code:
crunch@crunch:/tmp$ hashkill-gpu -p bitcoin xxx:xxx:deepbit.net:8332

[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Juniper
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 452144
[hashkill] Doing BFI_INT magic...

Mining statistics...
Speed: 0 MHash/sec [cur: 100%] [proc: 18] [subm: 14] [stale: 0] [eff: 77%]       82%]     
Speed: 402 MHash/sec [cur: 28%] [proc: 18] [subm: 16] [stale: 0] [eff: 88%]      82%]     
Speed: 236 MHash/sec [cur: 100%] [proc: 19] [subm: 16] [stale: 0] [eff: 84%]     88%]     
Speed: 0 MHash/sec [cur: 100%] [proc: 19] [subm: 16] [stale: 0] [eff: 84%]       88%]     
Speed: 6148914690576 MHash/sec [cur: 53%] [proc: 19] [subm: 16] [stale: 0] [eff: 84%]
(etc)   

With 2 5850s and a 5770, I expect to get about 600-700 MHash/sec.  Here are the dumped ISA files:

http://dl.dropbox.com/u/694931/bitcoin_Cypress.isa
http://dl.dropbox.com/u/694931/bitcoin_Juniper.isa

(this is with AMD-APP-SDK-v2.4-lnx64)

Nice work, btw, I like the way it automagically finds all the cards and "deals with it", rather than having to run multiple copies of poclbm.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 01, 2011, 09:15:10 AM
Hello,

Yes, that's one of the bugs I have collected thanks to people that tested the alpha (related to an integer overflow). Another one found is related to missing deinitialization of certain curl handles that creates big problems after some time spent in mining. Another problem was related to improper BFI_INT replacement on 69xx cards (fixed now). Finally, the 69xx codepath is not optimal and I am now currently working on a separate vliw4 codepath that is best optimized for 69xx devices. Sorry for those, but your input was very helpful for me to identify and fix those issues. A new testing release will be ready soon with those problems resolved.

Another thing is that we're walking on the verge with those uint4 vectors...on my 6870 I'm getting 41 GPR usage currently. If that rises to 42 for some reason, performance degrades disastrously as the number of wavefronts/cu drops. I still need to find a way to reduce the GPR usage - cause on some other cards, the compiler is unable to generate code that keeps to 41GPRs thus generating slow-performing code. Since I am doing that by carefully reordering stuff, it's a bit wacky and not reliable at the moment...still need some work on that.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: JWU42 on May 01, 2011, 11:28:17 AM
@gat3way - will give this a try again...

Those of us with 5970's tend to find 2.1 optimal (i.e., max Hash generation).

Code:
[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)[error] (ocl_bitcoin.c:923) clBuildProgram error (-11)
[hashkill] Attack took 4 seconds.
[hashkill] Bye bye :)

Made it further than last time!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: colossus on May 01, 2011, 05:39:16 PM
 :) Works great @gat3way thank you for this, it improved my performance greatly from 220 mhash on Diablo to 267 mhash on your code! i did try your code from a few days ago same version number though :D and after a few hours it would loose the connection and just keep retrying, restart solved the problem, lets see if this new one lasts longer.

PS on a 6870, just over clocked to 950 and now at 286 Mhash... Great Stuff!

PPS post your bitcoin address so people can make donations.

for those curious on app SDK 2.4, using this driver http://www2.ati.com/drivers/linux/ati-driver-installer-11-4-x86.x86_64.run


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 01, 2011, 05:57:18 PM
Just wait, people, there are still lots of bugs I am working on :) A new release will be done in a couple of days, hopefully fixing them all. The reconnect issue is due to missing deinitialization of a curl handle and this will definitely be resolved. We still have problems with 6990 and this afternoon I had to rewrite the whole kernel (replacing uint4 with interlaced uint2+uint) to get that GPR thing working reliable on all VLIW5 cards.



Title: Re: hashkill - testing bitcoin miner plugin
Post by: elitkalle on May 01, 2011, 06:54:20 PM
When i run this: hashkill-cpu -p bitcoin xxxxxxxx:xxxxxxx:bitcoinpool.com:8334

[hashkill] Progress indicator will be available once Markov calculations are done...
[error] (bitcoin.c:86) This plugin is GPU only!

I get that error..


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 02, 2011, 05:54:21 AM
^^ This means you don't have the SDK installed or you haven't done export LD_LIBRARY_PATH=/path/to/sdk/lib/<arch> prior to running it.

You should also make sure the OpenCL runtime detects your GPU - by running the CLInfo sample from the SDK.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 03, 2011, 05:18:35 PM
Fixed a couple of bugs:

* Progress indicator finally fixed
* Kernel reworked - there are separate codepaths, one for VLIW5 (interlaced uint2+uint to get best utilization) and another for VLIW4 architectures. Additional optimizations implemented.
* Added -D command-line option. This tends to increase speed at the cost of reduced desktop responsiveness (kinda like Phoenix AGGRESSION parameter)
* Additional marginal speedup can be achieved by using -G 3 option at the command line (or even -G4) - but that requires more memory and faster, multicore CPU
* the curl handles leak was fixed - no more "connection failed after half an hour of work" issues.

The code changes are confirmed to be incompatible with ATI Stream SDK 2.1 and 2.2. Please _DO NOT_ use older than 2.3 versions.


Not implemented yet:

* ADL thermal monitoring for ATI
* Failover extension (used in deepbit.net)


Download:

64-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz

32-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 03, 2011, 05:54:41 PM
Tried it out and you are about 90MH/s slower than phoenix 1.4 for me.

ubuntu 10.10 x64 - 5870

hashkill - SDK 2.3 - ~344MH/s
phoenix 1.4 - SDK 2.1 - ~434MH/s


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 03, 2011, 06:18:04 PM
Damn...still that 5870 issue...hmmm wanna have one for tests :(


Title: Re: hashkill - testing bitcoin miner plugin
Post by: colossus on May 03, 2011, 07:53:13 PM
Last version ran solid for me 3 days straight 24/7.

Tried the additional options normally my card settles on 283 after while, with the D & G options i can get it to settle at 285.

PS @bolapara how did you get 434 on the 5870, i have one clocked at 850, what is yours at? please share.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 03, 2011, 07:58:15 PM
Apparently, on 5870 for some reason the generated binary is not optimal. If someone with such card (or 5970) is willing to help me test and fix that, please PM me.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: colossus on May 03, 2011, 10:44:15 PM
I tested my 5870 just now

fresh install of ubu 11.04 x64, catalyst 11.4, sdk 2.4 = 370 mhash on hashkill.

i tried to install phoenix but trashed my system with that awful python-opencl dependency on nvidia driver, why oh why did they package it like that.

I will try to test some more tomorrow against phoenix after i re-install.



Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 04, 2011, 03:47:46 PM
PS @bolapara how did you get 434 on the 5870, i have one clocked at 850, what is yours at? please share.

Dedicated mining rig
Ubuntu 10.10
11.4 drivers, 2.1 SDK
1000 core, 300 mem clocks
100% fan speed
76C
phoenix 1.4 - VECTORS AGGRESSION=12 WORKSIZE=128 BFI_INT


Title: Re: hashkill - testing bitcoin miner plugin
Post by: colossus on May 04, 2011, 06:29:18 PM
Thanks for that bolapara will give it a go.

i guess you removed the nvidia dependency or compiled it manually for the python pyopencl that is, i will have a go myself tonight.

If i can get phoenix working i will compare side by side


Title: Re: hashkill - testing bitcoin miner plugin
Post by: mskwik on May 04, 2011, 06:47:27 PM
Tried it out overnight on deepbit and while it was faster it also ended up with roughly 10% stale shares.  Not sure the long polling is working properly, is it supposed to give any indication when it gets a new block notification?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: colossus on May 04, 2011, 07:01:03 PM
yeah i also forgot to mention it failed for me after a few hours as well, i've reverted to the previous version, there was no communication problem it just stated 0/mash.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 04, 2011, 07:03:25 PM
@bolapara: did you use the -D option?

We just tried hashkill on 5970 (which has the same cores as 5870) and speed was as expected: 620-630M/s at stock speeds. That is with -D applied

@mskwik The stale shares could indicate a problem (e.g bad BFI_INT replacement). What GPU do you have?


As a side note, I got ADL working and I can now correctly get GPU temperatures, activity percent and clocks. Wondering how to proceed with that thermal stuff: should I quit when a threshold is reached....or probably pause for a certain period....or completely disabling that GPU? Hmm...


Title: Re: hashkill - testing bitcoin miner plugin
Post by: mskwik on May 04, 2011, 07:13:01 PM
This was on a 5770.  Switched back to give the new version of Phoenix another try and it has submitted 700+ shares with none stale while using BFI_INT.  Can try it again if there's some way to get debug output or something to help, didn't get any extra errors or output (beyond the hashrate/stats) at all during the last run.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 04, 2011, 07:16:33 PM
OK, could you please run export GPU_DUMP_DEVICE_KERNEL=3, run hashkill on 5770 for  30-40 seconds and give me the bitcoin_Juniper.isa file generated? This way I can have a look if there is a replacement issue.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 04, 2011, 07:17:45 PM
phenomenal.

got it installed, and thought i'd run it solo to tweak and configure, before i hooked it up to a pool.  started it up thusly (with bitcoind running):

Quote
hashkill-gpu -p bitcoin <username>:<password>:127.0.0.1:8332 -a <username>

[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Juniper
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at 127.0.0.1:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 349524
[hashkill] Doing BFI_INT magic...

Speed: 172 MHash/sec [cur: 22%] [proc: 1] [subm: 0] [stale: 0] [eff: 0%]
Speed: 173 MHash/sec [cur: 34%] [proc: 1] [subm: 0] [stale: 0] [eff: 0%]

...& etc.

running a Sapphire 5770 @ 960 GPUcore, 250 Mem, a bit overvolted.  temp at a pretty constant 64 C.  Catalyst 11.3, SDK 2.4.  on debian testing with the 2.6.32-5-amd64 kernel.

it feels very stable and smooth, with the desktop actually sort of usable.

with DiabloMiner (-f15 -w128 -z4 - which is apparently the sweet spot) i get very stable at 166 MH/sec, but an essentially unusable desktop.  using Hashkill, i can actually open and use a web browser.

i have a couple of questions...

1.) am i supposed to be getting 0% efficiency when mining solo?

2.) any settings recommendations for dedicated mining (i don't mind a much less usable desktop)?  getworks, etc.?

3.) does Hashkill roll over its text cache, or should i set my terminal to a non-infinite scrollback?  i don't want to fill up my tiny hard drive...

thank you very much!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 04, 2011, 07:23:30 PM
Never tried it solo in fact. Should test. -D option brings higher speed at the cost of less responsive desktop. The infinite progress indicator issue will be fixed soon, looks like I've forgotten to flush stdout :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: xyzzy on May 04, 2011, 07:33:29 PM
This is getting better -- with 1x5770 and 2x5850 (overclocked), I'm getting "up to 818 MHash/sec" (which is about what I expect), but it's only fully loading the cards every few seconds -- here's what it looks like if I hit Enter between each progress update:

Code:
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 348864
[hashkill] Doing BFI_INT magic...

Mining statistics...
Speed: 331 MHash/sec [cur: 23%] [proc: 6] [subm: 6] [stale: 0] [eff: 100%]             
Speed: 805 MHash/sec [cur: 79%] [proc: 6] [subm: 6] [stale: 0] [eff: 100%]   
Speed: 297 MHash/sec [cur: 100%] [proc: 7] [subm: 6] [stale: 0] [eff: 85%]   
Speed: 0 MHash/sec [cur: 100%] [proc: 7] [subm: 6] [stale: 0] [eff: 85%]   
[error] (ocl_bitcoin.c:810) Could not connect to the stats server: please check if the URL provided with --addopt is correct!
Speed: 0 MHash/sec [cur: 100%] [proc: 7] [subm: 6] [stale: 0] [eff: 85%]   
Speed: 222 MHash/sec [cur: 15%] [proc: 7] [subm: 7] [stale: 0] [eff: 100%]   
Speed: 809 MHash/sec [cur: 72%] [proc: 7] [subm: 7] [stale: 0] [eff: 100%]   
Speed: 402 MHash/sec [cur: 100%] [proc: 8] [subm: 7] [stale: 0] [eff: 87%]   
[error] (ocl_bitcoin.c:810) Could not connect to the stats server: please check if the URL provided with --addopt is correct!
Speed: 0 MHash/sec [cur: 100%] [proc: 8] [subm: 7] [stale: 0] [eff: 87%]   
Speed: 0 MHash/sec [cur: 100%] [proc: 8] [subm: 8] [stale: 0] [eff: 100%]   
Speed: 109 MHash/sec [cur: 7%] [proc: 8] [subm: 8] [stale: 0] [eff: 100%]   
[error] (ocl_bitcoin.c:810) Could not connect to the stats server: please check if the URL provided with --addopt is correct!
Speed: 818 MHash/sec [cur: 64%] [proc: 8] [subm: 8] [stale: 0] [eff: 100%]   
Speed: 507 MHash/sec [cur: 100%] [proc: 9] [subm: 8] [stale: 0] [eff: 88%]   
Speed: 0 MHash/sec [cur: 100%] [proc: 9] [subm: 8] [stale: 0] [eff: 88%]   
Speed: 0 MHash/sec [cur: 100%] [proc: 9] [subm: 8] [stale: 0] [eff: 88%]
[error] (ocl_bitcoin.c:810) Could not connect to the stats server: please check if the URL provided with --addopt is correct!
Speed: 16 MHash/sec [cur: 1%] [proc: 9] [subm: 8] [stale: 0] [eff: 88%]   
Speed: 801 MHash/sec [cur: 57%] [proc: 9] [subm: 8] [stale: 0] [eff: 88%]   
Speed: 616 MHash/sec [cur: 100%] [proc: 10] [subm: 8] [stale: 0] [eff: 80%]   
[error] (ocl_bitcoin.c:810) Could not connect to the stats server: please check if the URL provided with --addopt is correct!
Speed: 0 MHash/sec [cur: 100%] [proc: 10] [subm: 8] [stale: 0] [eff: 80%]   

If I run "aticonfig --adapter=all --odgc" manually (and repeatedly) while this is happening, I see that the GPU load is cycling between 90% and 0%, roughly in step with the output of the program.

This is with SDK 2.4, btw -- which I can't even use with poclbm normally, because it only manages to use one of my 3 GPUs (?!!)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 04, 2011, 07:44:49 PM
Yep, this is another thing I need to get done - with faster systems, the keyspace is exhausted faster than we can fetch getwork()'s. I have to perfect the queueing mechanism a bit. Noticed that while testing with 6990.

As a workaround, you can run separate instances against different devices by setting the COMPUTE environment variable to get best performance until I fix that.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 04, 2011, 07:46:49 PM
@bolapara: did you use the -D option?

Used -G4 -D


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 04, 2011, 07:49:35 PM
@bolapara, with -G4 you are too much dependant on CPU and memory. With systems with multicore CPUs and lots of RAM that's OK, but I guess you'd be better off if you provide -G 2 (or no -G at all). -G4 requires about 700 MB of system memory on a single-GPU system and probably about 1GB with dual-GPU ones (sigh) and if you don't have them free, you can get into swap and generally fuck up overall performance quite a lot :(

Also, with -G4 it takes more time until all threads kick in and initial kernel compilation time is much slower as well. So you are likely to see peak results after ~20-30 seconds or even more with multi-GPU systems.

As a general rule, I'd advise you to stay off turning -G option (unless you are nvidia user with newer drivers where -G2 helps a lot). It has a significant meaning with some "fast" hash cracking plugins (e.g mysql-old), but it does not bring much benefits with bitcoin. You are likely just increasing your overall power consumption without any benefit.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 04, 2011, 08:06:50 PM
Never tried it solo in fact. Should test. -D option brings higher speed at the cost of less responsive desktop. The infinite progress indicator issue will be fixed soon, looks like I've forgotten to flush stdout :)

-D option feels less stable.  trying 3, 4 and 6, i get variance between two Mh rates in all three cases: 172 and 176.  mostly 172.  (-G is worthless to me: single-core Sempron 140 with 2 Gig RAM.)

i hope to see version 0.2.5 up soon - if you get stdout flushing, i'll make it the miner for my little, frankenputer pool miner.  and we'll see how it goes with my two solos (2x5870 and 2x5850).

thanks again!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 04, 2011, 08:10:00 PM
Yep, -D is indeed less stable. A very slight variance in desktop usage (e.g minimizing a window) can decrease performance a lot for some interval of time. It's just too flaky for normal desktop usage. This should be used only on dedicated systems.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 04, 2011, 09:05:55 PM
OK think I fixed the "fflush" problem. Also managed to integrate the ADL part: now we have some nice statistics about GPU temperature and utilization when you press ENTER key:

http://img829.imageshack.us/img829/5116/miner4.png

There is a user-defined temperature threshold (default:90) that causes the miner to disable the particular overheating GPU for 1 minute when reached. I guess better idea would be to increase fan speed (perfectly possible) but haven't done that yet.

getwork mechanism also improved for faster cards - well, unless you have >2.4GH/s total compute power :)  

The ADL monitoring does not depend on any new libraries, it's part of the Catalyst driver suite.

Need some more testing, will release it soon.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 04, 2011, 09:25:44 PM
@bolapara, with -G4 you are too much dependant on CPU and memory. With systems with multicore CPUs and lots of RAM that's OK, but I guess you'd be better off if you provide -G 2 (or no -G at all). -G4 requires about 700 MB of system memory on a single-GPU system and probably about 1GB with dual-GPU ones (sigh) and if you don't have them free, you can get into swap and generally fuck up overall performance quite a lot :(

Also, with -G4 it takes more time until all threads kick in and initial kernel compilation time is much slower as well. So you are likely to see peak results after ~20-30 seconds or even more with multi-GPU systems.

As a general rule, I'd advise you to stay off turning -G option (unless you are nvidia user with newer drivers where -G2 helps a lot). It has a significant meaning with some "fast" hash cracking plugins (e.g mysql-old), but it does not bring much benefits with bitcoin. You are likely just increasing your overall power consumption without any benefit.

OK, thanks.  For the record, I also tried no -G option and just -D and had the same results.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 04, 2011, 09:56:14 PM
OK think I fixed the "fflush" problem. Also managed to integrate the ADL part: now we have some nice statistics about GPU temperature and utilization when you press ENTER key:

http://img829.imageshack.us/img829/5116/miner4.png

There is a user-defined temperature threshold (default:90) that causes the miner to disable the particular overheating GPU for 1 minute when reached. I guess better idea would be to increase fan speed (perfectly possible) but haven't done that yet.

getwork mechanism also improved for faster cards - well, unless you have >2.4GH/s total compute power :)  

The ADL monitoring does not depend on any new libraries, it's part of the Catalyst driver suite.

Need some more testing, will release it soon.

awesome!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 04, 2011, 10:31:16 PM
oh say, gat3way - as long as you're online...

what's the upgrade procedure?

do i put the new one in the old directory, run install, and it overwrites everything?  or should i whack /usr/share/hashkill first?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 04, 2011, 10:36:25 PM
It overwrites, no need to delete.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 04, 2011, 10:39:18 PM
It overwrites, no need to delete.

thx.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: martok on May 04, 2011, 11:00:25 PM
I can test this with 5970s but I don't like the idea of installing things into /usr/share or requiring root privs for anything. Can I configure to pull the kernels from /home/user/share or the like?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 04, 2011, 11:11:48 PM
I can test this with 5970s but I don't like the idea of installing things into /usr/share or requiring root privs for anything. Can I configure to pull the kernels from /home/user/share or the like?

make a new user with create/read rights to /usr/share?  it shouldn't screw with your main login, or with root.  then make everything in /hashkill executable for that user.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: smgoller on May 04, 2011, 11:21:53 PM
Just tested this with two 5870s. Hashkill gave me roughly 640Mh/s, whereas running two instances of phoenix got me 760Mh/s (2x380Mh/s)....



Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 05, 2011, 07:13:00 AM
I can test this with 5970s but I don't like the idea of installing things into /usr/share or requiring root privs for anything. Can I configure to pull the kernels from /home/user/share or the like?

Users for the hash cracking part requested that on a number of occasions. The reason I am not reluctant to do this is that it creates a possible security problem. The architecture consists of a core binary (hashkill-gpu) and a number of plugins that are in fact shared libraries  (/usr/share/hashkill/plugins) and are loaded dynamically. Having the libraries located in a path that is only writable by root ensures noone can play nasty tricks. If I let the users install them wherever they want, someone might install them in a world-writable directory. This creates a security hole because anyone that can overwrite files there, can take advantage of that to mount local privilege escalation attacks. Besides (from the hash cracking perspective) I don't feel comfortable with the idea that anyone can install the program to crack hashes, without superuser knowledge. So - if you are the owner of the machine - you will install that anyway. If you are an ordinary user and you really need that, you can ask the admin to install it. I am not letting users to crack hashes on a system they don't have permission to. It is resource-intensive process and it may be related to illicit activities.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: marcus_of_augustus on May 05, 2011, 07:41:44 AM

I'm not going to install any binaries with root privileges without seeing the source.

Particularly not one from a hash-cracking expert, that would be a huge security hole, wouldn't you agree? Would you do it?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: netxshare on May 05, 2011, 08:33:46 AM

I'm not going to install any binaries with root privileges without seeing the source.

Particularly not one from a hash-cracking expert, that would be a huge security hole, wouldn't you agree? Would you do it?

I can understand this, I have worked with gat3way on testing this over IRC on my 6990 system and 5970 I have also seen the source code. You can also get code for everything but the bitcoin plugin off his website. But I am sure when he is ready he will release the code to the public.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 05, 2011, 08:58:52 AM
Root privileges are needed only for the installation and the installer script is apparently open source. Then yes - it's a question whether you trust binaries and it is a valid point. Then again, you already do that as the whole OpenCL stack is proprietary. So at the end it boils down to whom you trust to provide you binaries. Of course, in theory I could trojanize you, I could put your system in an evil botnet whose aim is to (say hm) generate bitcoins for me. Not that this wouldn't show up in a simple strace output for example, but then not anyone would bother to check that. Well, it's obvious I can't give you guarantees on that and it's all a matter of trust. Of course, I can make claims as much as I want, but apparently it does not matter.

Until I can get it to a point where I consider it stable enough, I am not putting the code in public. That is my personal choice and I have the right to do that just as you have the right to build some conspiracy theory around that. Source is available upon request though and I would not refuse to provide this to anyone that tests it. However, I am not willing to release it in public at that moment. It will be released soon, but only after I eliminate the present issues and integrate the functionality I've planned.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: marcus_of_augustus on May 05, 2011, 10:00:38 AM


No conspiracy theory, I think you are probably doing some good work here, it has the right pedigree.

Just it would be bad practice to do what you are asking for people who are testing it ... unless of course they know and can trust you. I'm pretty sure you wouldn't do it yourself, knowing which side of the security fence you come from. Good luck, carry on.

"Here I've got a binary that is a sub-system for your digital currency miner, just use root to install it and you'll be sweet." (Has a bad look, if you know what I mean.)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on May 05, 2011, 10:13:28 AM
Root privileges are needed only for the installation
I think that a non-root user could create a chroot system to install and use it anyway, so I suppose this is not a valid concern.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 05, 2011, 10:41:44 AM
I am not a firm believer in the theory that opensourcing something would automatically eliminate chances of having deliberately planted malicious code. Its the peer review that eliminate that, not the public source itself (see the underhanded C contest eheh).

Yes, source is the prerequisite, however there is also something else. Hashkill has already turned into a relatively large enough project (~130-140.000 lines of code at present) with a good number of dependencies and supporting all this in my spare time is not easy. I add new functionality faster than I fix bugs (unfortunately as my spare time is limited). This of course reflects on my autoconf/automake stuff (the bitcoin part brought 3 new dependencies - curl, json-c and ADL). Autoconf macros are still buggy and building is a bitch. There are also sometimes some minor API changes in some library that may fail everything. It's just not tested well enough at the moment. I don't feel like answering questions like "build failure XXX, please help" while having to fix some serious issues with the bitcoin code. Static-linked binaries are a nice way to make it working for most distros out there without depending on additional packages and stuff.

One might argue that rewriting everything in a higher-level language like e.g python would be a better idea and I completely agree. It is also much more portable. However it is already too late for this.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: marcus_of_augustus on May 05, 2011, 12:28:04 PM
I am not a firm believer in the theory that opensourcing something would automatically eliminate chances of having deliberately planted malicious code. Its the peer review that eliminate that, not the public source itself (see the underhanded C contest eheh).

Yes, source is the prerequisite, however there is also something else. Hashkill has already turned into a relatively large enough project (~130-140.000 lines of code at present) with a good number of dependencies and supporting all this in my spare time is not easy. I add new functionality faster than I fix bugs (unfortunately as my spare time is limited). This of course reflects on my autoconf/automake stuff (the bitcoin part brought 3 new dependencies - curl, json-c and ADL). Autoconf macros are still buggy and building is a bitch. There are also sometimes some minor API changes in some library that may fail everything. It's just not tested well enough at the moment. I don't feel like answering questions like "build failure XXX, please help" while having to fix some serious issues with the bitcoin code. Static-linked binaries are a nice way to make it working for most distros out there without depending on additional packages and stuff.

One might argue that rewriting everything in a higher-level language like e.g python would be a better idea and I completely agree. It is also much more portable. However it is already too late for this.

Okay I can appreciate an argument like this ... if you tearing through a development stage things are flying everywhere and its easier to spit out binaries ... good on ya, poclbm and phoenix are tough competition.

In this case, it is probably best for people who want to test with this code to do it on a dedicated test rig or VM maybe, but not a production mining rig of a cluster or one with a real currency at stake or in the environment anyway.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 05, 2011, 05:43:49 PM
OK, newer (hopefully last) alpha is ready.

New in that release:

* Fixed the "fflush" problem: now progress is displayed correctly, not updated with a newline
* Better getwork mechanism: smaller granularity for queueing thread, separate "submit" threads meaning that network-related performance loss is reduced
* Fixed long polling - it is now working correctly and the stales number should greatly be reduced on pools that support it. Stales are still possible though cause the current kernel invocation is not being canceled. Chances are about 1/1000. Also, stales are possible due to HTTP latency issues.
* Added thermal statistics: at any time during mining, press ENTER key to get your GPU temperature and utilization stats
* Added thermal throttling: when a GPU reaches a certain temperature limit, it is being disabled for one minute. The temperature threshold is 90 degrees Celsius by default and can be changed via the -T command-line option
* Changed the kernel to use a worksize of 64. It does not reflect on performance but makes speed more "stable"
* Changed the VLIW4 kernel (69xx cards). Now it should be a bit slower, but more stable.

Not added:

* The failover protocol
* HTTP keep-alive
* HTTPS support

Note: Thermal throttling/monitoring work on ATI cards only at the moment. There are corner cases where it would not work (e.g having adapters not supported by OpenCL).


Download:

64-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz

32-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz


Reminder: use SDK 2.3 or newer!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 05, 2011, 06:12:50 PM
thank you, gat3way.

i'll install tonight and let you know.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 05, 2011, 06:28:16 PM
The whole 'root install' thing really doesn't matter.  Look at the install.sh script.  It's using root privs to copy files into /usr/bin and /usr/share/hashkill.  None of those files are setuid/gid.  When you actually execute the files, you are executing them (unless you are being silly and running hashkill as root or with sudo) with an unprivileged user account.  At that point, your risks are the same as if you ran a binary from your home directory.

Now, open code is a different story....


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 05, 2011, 07:07:45 PM
OK to anyone that needs the source, here it is:

http://www.gat3way.eu/poc/hashkill-src.tgz

Well, at that point I am _not_ providing any support to anyone that has problems building it. Also, I cannot promise that at that point I am going to follow any suggestions, even if they sound very sensible. You'd need to set two environment vairables, ATISTREAMSDKROOT and ADLROOT set to proper paths in order to properly build that.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 06, 2011, 04:56:46 AM
per my previous post:

Quote
running a Sapphire 5770 @ 960 GPUcore, 250 Mem, a bit overvolted.  temp at a pretty constant 64 C.  Catalyst 11.3, SDK 2.4.  on debian testing with the 2.6.32-5-amd64 kernel.

i'm now running the latest version (still called 0.2.4-x86_64) on slush's pool.  173 Mhash/sec like a heartbeat.  efficiency at or above 100%.

a winner!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 06, 2011, 04:27:27 PM
been running non-stop on slush since my last post.  no real issues.

efficiency is down a touch - steady at 98-99%.

the 'stale' counter is session-additive, right?  it's up to 139.

Mhash/sec holding rock-solid at 173.  no variance at all.

if you'd like any generated logs or anything, let me know, gat3way.

 :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 06, 2011, 09:25:11 PM
Efficiency can go over 100% or below 100% - it's a matter of luck. I've had some periods where it is way over 100%, also periods where it drops at 70-80%. Overall with time it should get close to 100% though. The stale counter is additive, yes.

BTW could you provide me the ISA dump?

I am mostly interested in the SQ_PGM_RESOURCES:NUM_GPRS field which should be among the last lines.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 06, 2011, 10:29:46 PM
Efficiency can go over 100% or below 100% - it's a matter of luck. I've had some periods where it is way over 100%, also periods where it drops at 70-80%. Overall with time it should get close to 100% though. The stale counter is additive, yes.

BTW could you provide me the ISA dump?

I am mostly interested in the SQ_PGM_RESOURCES:NUM_GPRS field which should be among the last lines.

hmm...  how do i do that?

i tried running "export GPU_DUMP_DEVICE_KERNEL=3" (also 1 and 0) in tmp - but no isa file magically appeared.  i also tried while hashkill was running.

what am i doing wrong?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 06, 2011, 10:49:34 PM
Well hm...look for *.isa. /tmp should be writable, that's very strange.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 06, 2011, 10:57:26 PM
Well hm...look for *.isa. /tmp should be writable, that's very strange.

maybe try it in one of the /hashkill subdirectories?

BTW, i tried running it as sudo - it said no such program as 'export'.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: mskwik on May 07, 2011, 02:26:00 AM
Still seems to have a somewhat high rate of stale shares (as reported in the deepbit stats), but only about 1.5% compared with the 10% last time I tried it.  Does report the new long polling blocks properly now.

As far as the whole untrusted code thing goes I have just been running it in a sandbox (the same as when testing other miners, open source doesn't necessarily matter if I don't have the time to look through it properly), no access to home directory, read access to standard system libs, write access to /dev/ati and /tmp and I can remap accesses to /usr/share/hashkill to something under the working directory.  Still have to trust code somewhat but it would stop any basic wallet-stealing (as well as reporting that it was tried).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 07, 2011, 10:25:19 AM
The 1.5% of stales is not a real concern IMO, I guess it is within acceptable range. It can be improved, but I don't really see significant reason in that  - point is we cannot cancel an already running kernel and if a solution is found in its NDRange, it will be submitted. OK, I can make it not submit it at the end, but still that would only make it look better for users while in fact it does not matter. That said, when using -D chances are that stale number would be higher and that's kinda tradeoff for the higher speed.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sarah_tonin on May 07, 2011, 10:44:52 AM
Very nice work!  Seeing 365-370MH/s on my 5870!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 07, 2011, 12:07:43 PM
Thanks. Is that on stock clocks or OC?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: mskwik on May 07, 2011, 12:47:50 PM
The 1.5% of stales is not a real concern IMO, I guess it is within acceptable range. It can be improved, but I don't really see significant reason in that  - point is we cannot cancel an already running kernel and if a solution is found in its NDRange, it will be submitted. OK, I can make it not submit it at the end, but still that would only make it look better for users while in fact it does not matter. That said, when using -D chances are that stale number would be higher and that's kinda tradeoff for the higher speed.

Yeah, it's definitely much better than it was and at that rate I wouldn't worry about mining long-term with it.  (Assuming the higher speed makes up for a few extra stale shares)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 07, 2011, 09:57:20 PM
Well hm...look for *.isa. /tmp should be writable, that's very strange.

maybe try it in one of the /hashkill subdirectories?

BTW, i tried running it as sudo - it said no such program as 'export'.


Opsss......I now see what's the problem. You don't need to run hashkill as root (via sudo). It is only needed for the installation (sudo ./install.sh). Once you are done, you just run hashkill-gpu. You can do export ....; sudo hashkill-gpu or sudo export ... ; sudo hashkill-gpu ... but the environment won't be preserved across those so you won't be getting the ISA dump. So you just have to drop that sudo thing. In fact I really don't recommend running hashkill as superuser - it does no matter at all as far as performance is related and it can run perfectly well without superuser privileges. I tend to minimize the set of root processes running on my system, kind of paranoia from days when I used to be a sysadmin. In fact, running as root can only lead to problems as the root user may not be allowed to make a connection to the X server (on my debian devel host for example I need to explicitly allow this with the xhost command).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 07, 2011, 11:25:37 PM
Well hm...look for *.isa. /tmp should be writable, that's very strange.

maybe try it in one of the /hashkill subdirectories?

BTW, i tried running it as sudo - it said no such program as 'export'.


Opsss......I now see what's the problem. You don't need to run hashkill as root (via sudo). It is only needed for the installation (sudo ./install.sh). Once you are done, you just run hashkill-gpu. You can do export ....; sudo hashkill-gpu or sudo export ... ; sudo hashkill-gpu ... but the environment won't be preserved across those so you won't be getting the ISA dump. So you just have to drop that sudo thing. In fact I really don't recommend running hashkill as superuser - it does no matter at all as far as performance is related and it can run perfectly well without superuser privileges. I tend to minimize the set of root processes running on my system, kind of paranoia from days when I used to be a sysadmin. In fact, running as root can only lead to problems as the root user may not be allowed to make a connection to the X server (on my debian devel host for example I need to explicitly allow this with the xhost command).

sorry - i was unclear.  i should have said "i also tried running it as sudo..."

i've been running hashkill, and first tried running export, as user.  just can't get that blasted thing to work.  no .isa files anywhere on the hard drive.  weird indeed...

"export GPU_DUMP_DEVICE_KERNEL=3" - in /tmp, right?  11.3, 2.4, and AMDOverdriveCtrl profile loaded.  bitcoind not running.

i type it, hit enter, and it just feeds a line to another prompt - nothing happens.  i might as well have just hit enter.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sarah_tonin on May 08, 2011, 03:38:44 AM
Thanks. Is that on stock clocks or OC?

Entirely stock!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 08, 2011, 09:50:09 AM
@sarah_tonin: just to confirm everything works correctly, can you paste the proc/subm/stale/eff ratio after some minutes of work? Also, did you use the 64-bit or the 32-bit version? Cause I got reports from 5870 users that complain about bad performance and still trying to figure out what's the root cause.

@Jaime Frontero: the OpenCL runtime dumps them in the current directory, so you have to be in a writable directory (e.g /tmp). That's really odd, haven't seen such behavior yet.  BTW the whole export thing itself does not dump anything, you've got to run the hashkill binary after that, leave it running for a couple of seconds (say until it submits a share) then terminate it and look for the .isa files in the current directory.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 08, 2011, 02:04:38 PM
very nice work,
Did a clean install 64bits ubuntu 11.04/ati 11.4/sdk2.3 and hashkill worked direct without problems and i've got a few Mhashes increase
ubuntu 11.04 / 64bits clean install guide/script:  http://bitcointalk.org/index.php?topic=3359.msg108953#msg108953


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 08, 2011, 02:21:43 PM
Nice :)

BTW may I have your hardware info and speed just for statistic purposes?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 08, 2011, 02:47:00 PM
My tryout-machine is a MSI 770-c45/Mobo with Athlon X2 at 3.00 Ghz with ATti 5570 going from 67Mhash to 71Mhash


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 08, 2011, 02:50:29 PM
Thanks.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 09, 2011, 10:20:13 AM
Alright, to anyone that reported degraded performance: I think I identified the potential root cause and it is related to host-device transfers.

I created a 64-bit build that implements the "usual" way to read GPU buffers from host. Hopefully that would address this issue. If everything is according to my estimations, I will make this configurable via a command-line switch.

Here is the "tryout" build:

http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64-exp.tgz

Note that on systems that do not have that issue, this would be kinda slower. Also please make sure you try that with -G2 -D command-line options.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sniper_sniperson on May 09, 2011, 11:44:05 AM
What exactly are doing these options?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 09, 2011, 11:47:26 AM
-G2 is 2 threads/GPU (which is the default BTW)
-D is a worksize 2x multiplier: it tends to give better performance at the cost of reduced desktop responsiveness.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 09, 2011, 12:30:01 PM
Alright, to anyone that reported degraded performance: I think I identified the potential root cause and it is related to host-device transfers.

I created a 64-bit build that implements the "usual" way to read GPU buffers from host. Hopefully that would address this issue. If everything is according to my estimations, I will make this configurable via a command-line switch.

Here is the "tryout" build:

http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64-exp.tgz

Note that on systems that do not have that issue, this would be kinda slower. Also please make sure you try that with -G2 -D command-line options.

I had several runs of a few hours and i get about 10% stale rate on all the runs with the old version. the stales won't matter on deepbit, but other pools are not so gentle.
gonna try this new version now


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 09, 2011, 02:15:54 PM
This is what the "tryout" build returned

http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64-exp.tgz

kh@UMiner:~/Downloads/hashkill/hashkill-0.2.4-x86_64$ sudo ./install.sh
Installation complete. Please set your LD_LIBRARY_PATH variable if you are ATI user and intend to run hashkill-gpu

Run hashkill-cpu for CPU-based attacks or hashkill-gpu for GPU/CPU-based ones

[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Redwood
[hashkill] GPU0: ATI Radeon HD 5570 [busy:0%] [temp:60C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at mining.bitcoin.cz:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 348696
[hashkill] Doing BFI_INT magic...
Segmentation fault


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 09, 2011, 02:23:27 PM
You are using it with SDK2.1 or SDK2.2 - (unfortunately) they are not compatible.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 09, 2011, 02:25:25 PM
You are using it with SDK2.1 or SDK2.2 - (unfortunately) they are not compatible.

SDK 2.3

very nice work,
Did a clean install 64bits ubuntu 11.04/ati 11.4/sdk2.3 and hashkill worked direct without problems and i've got a few Mhashes increase
ubuntu 11.04 / 64bits clean install guide/script:  http://bitcointalk.org/index.php?topic=3359.msg108953#msg108953



Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 09, 2011, 05:04:43 PM
Rather weird. Tried with another pool?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 09, 2011, 05:46:11 PM
Rather weird. Tried with another pool?

I get the stale problem with every pool, this is with your first version, your tryout version gives me this segmentation fault on install

Your first version:
Mining statistics...
Speed: 71 MHash/sec [cur: 91%] [proc: 101] [subm: 71] [stale: 10] [eff: 70%]

When i run phoenix it keeps jumping to Warning: work queue empty, miner is idle, even on AGGRESSION=7 and gives me [0 Khash/sec] [1 Accepted] [0 Rejected] [RPC] for many minutes

When i run poclbm i get no stales or rejects


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 09, 2011, 07:39:14 PM
This is what the "tryout" build returned

http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64-exp.tgz

kh@UMiner:~/Downloads/hashkill/hashkill-0.2.4-x86_64$ sudo ./install.sh
Installation complete. Please set your LD_LIBRARY_PATH variable if you are ATI user and intend to run hashkill-gpu

Run hashkill-cpu for CPU-based attacks or hashkill-gpu for GPU/CPU-based ones

[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Redwood
[hashkill] GPU0: ATI Radeon HD 5570 [busy:0%] [temp:60C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at mining.bitcoin.cz:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 348696
[hashkill] Doing BFI_INT magic...
Segmentation fault

I get the exact same problem.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 09, 2011, 08:08:15 PM
Could you check what SDK version are you really using?

This is simple: just type:

ldd /usr/bin/hashkill | grep OpenCL

and paste.

Looking at the guide posted, they do install the SDK and they do set it inside .bashrc. However they do not immediately set the LD_LIBRARY_PATH variable and you will not be using SDK2.3 until you relogin (or open a new session). Thus, if you have already set LD_LIBRARY_PATH to SDK2.1 or 2.2, it would crash. I am asking that because the symptoms are very much as though you're using older SDK - it crashes right after the BFI_INT replacement, on the first clEnqueueNDRangeKernel operation.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 09, 2011, 08:14:47 PM
Could you check what SDK version are you really using?

This is simple: just type:

ldd /usr/bin/hashkill | grep OpenCL

and paste.

Looking at the guide posted, they do install the SDK and they do set it inside .bashrc. However they do not immediately set the LD_LIBRARY_PATH variable and you will not be using SDK2.3 until you relogin (or open a new session). Thus, if you have already set LD_LIBRARY_PATH to SDK2.1 or 2.2, it would crash. I am asking that because the symptoms are very much as though you're using older SDK - it crashes right after the BFI_INT replacement, on the first clEnqueueNDRangeKernel operation.

Code:
me@miner00:~/hashkill-0.2.4-x86_64$ hashkill-gpu -p bitcoin *****:deepbit.net:8332 -D -a *****

[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Using GPU double mode
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] GPU0: ATI Radeon HD 5800 Series [busy:0%] [temp:53C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 348696
[hashkill] Doing BFI_INT magic...
[hashkill] Long polling available, starting LP thread.
Segmentation fault
me@miner00:~/hashkill-0.2.4-x86_64$ ldd /usr/bin/hashkill-gpu | grep OpenCL
        libOpenCL.so => /opt/ati-stream-sdk-v2.3-lnx64/lib/x86_64/libOpenCL.so (0x00007fb6f7c73000)
me@miner00:~/hashkill-0.2.4-x86_64$ which hashkill-gpu
/usr/bin/hashkill-gpu
me@miner00:~/hashkill-0.2.4-x86_64$


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 09, 2011, 08:32:53 PM
@Bolapara

go to the dir where your hashkill-gpu is and do:

ldd hashkill-gpu | grep OpenCL

and you'll see this:

   libOpenCL.so => /opt/ati-stream-sdk-v2.3-lnx64/lib/x86_64/libOpenCL.so (0x00007f1c94159000)

then you know if you got the right SDK

edit@bolapara
didn't scroll down in the included screen to see you already did this

must be a form of my dislectia  ;)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: allinvain on May 09, 2011, 08:34:19 PM
I'm curious to know if a windows beta/alpha build will be released soon.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 09, 2011, 08:42:36 PM
Hmpf, that's kinda strange. I definitely see one issue with the thermal monitoring (5970 detected by ADL as a single device named "5800 series" instead of 2 devices, as far as I understood, it depends on the card's BIOS version, so that I need to take that into account).

OK then the crash thing is really weird. Still not sure why does that happen, will build a version that spits out more debug messages to find out what causes them.

Quote
I'm curious to know if a windows beta/alpha build will be released soon.

This is like alpha. Beta will be released once annoying bugs like those are addressed properly.

Thus far I have those:

* on some GPUs performance is rather degraded, root cause not identified. Seen that on 5870 and 5850, probably others. Some 5870 user reported expected speed so this might turn out to be outside hashkill's scope.

* Those crashes (unfortunately I cannot reproduce them). Still wondering what may be the root cause. Will increase verbosity to see where it fails

* Apparently there are issues with thermal monitoring and dual-GPU cards. Also I do not handle the case with an onboard ATI GPU that is not supported by OpenCL - that is a potential issue with some systems.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 09, 2011, 08:55:01 PM
Hmpf, that's kinda strange. I definitely see one issue with the thermal monitoring (5970 detected by ADL as a single device named "5800 series" instead of 2 devices, as far as I understood, it depends on the card's BIOS version, so that I need to take that into account).

OK then the crash thing is really weird. Still not sure why does that happen, will build a version that spits out more debug messages to find out what causes them.

Actually, I have two 5870 cards.

I also experience the performance issue.  I see about 667MH/s with hashkill and about ~800MH/s with phoenix.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 09, 2011, 09:15:26 PM
BTW are your 5870s crossfired ?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 09, 2011, 09:16:15 PM
BTW are your 5870s crossfired ?
No.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 09, 2011, 09:47:01 PM
Quote
Thus far I have those:

* on some GPUs performance is rather degraded, root cause not identified. Seen that on 5870 and 5850, probably others. Some 5870 user reported expected speed so this might turn out to be outside hashkill's scope.

* Those crashes (unfortunately I cannot reproduce them). Still wondering what may be the root cause. Will increase verbosity to see where it fails

* Apparently there are issues with thermal monitoring and dual-GPU cards. Also I do not handle the case with an onboard ATI GPU that is not supported by OpenCL - that is a potential issue with some systems.


If you cant reproduce those tryout version crashes, i could try to build that version from source on my machine (if you have a tryout source version and directions for me)




Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 10, 2011, 05:55:58 AM
http://www.gat3way.eu/poc/hashkill-src.tgz

Building is not so easy though. There are some prerequisites: json-c, curl and openssl. With Ubuntu that would be:

apt-get install gcc make autoconf libjson0 libjson0-dev libcurl3-dev openssl

if you fail to provide some of them, the build will likely be successful, however the bitcoin functionality won't be available.


There is also dependance on AMD ADL. IT can be downloaded from AMD site at:

http://developer.amd.com/gpu/adlsdk/pages/default.aspx


Then the easiest way to build it all is by first setting two environment variables:

export ATISTREAMSDKROOT=/path/to/streamsdk
export ADLROOT=/path/to/adl

then

./configure && make && make install

if something fails, you could try to run the ./rebuild.sh script and retry.

For the "make install" step you need root privileges as it does the copy to /usr/share and /usr/bin.

OK, like I said, building is not easy.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 10, 2011, 06:17:07 AM
@gat3way, I have about an hour or so.  If you want to try and debug anything for a bit I am available.  I am on #bitcoin.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 10, 2011, 06:17:43 AM
I gotta go to work now :( So it would be next time I believe.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 10, 2011, 01:39:12 PM
On the prerequisites i had to additionally install curl and libcurl4-openssl-dev, afaik libcurl3-dev was replaced with libcurl4-openssl-dev

export ATISTREAMSDKROOT=/opt/ati-stream-sdk-v2.3-lnx64
export ADLROOT=/opt/ADL_SDK_3.0

./configure returned no errors

make returned this error:

gcc -DPACKAGE_NAME=\"hashkill\" -DPACKAGE_TARNAME=\"hashkill\" -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"hashkill\ 0.1.0\" -DPACKAGE_BUGREPORT=\"gat3way@gat3way.eu\" -DPACKAGE_URL=\"\" -DPACKAGE=\"hashkill\" -DVERSION=\"0.1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_FCNTL_H=1 -DHAVE_STDLIB_H=1 -DHAVE_PTHREAD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_OPENSSL_MD5_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_ZLIB_H=1 -DHAVE_WCHAR_H=1 -DHAVE_JSON_JSON_H=1 -DHAVE_CURL_CURL_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE__BOOL=1 -DHAVE_STDBOOL_H=1 -DHAVE_SSE2=/\*\*/ -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_BZERO=1 -DHAVE_STRSTR=1 -DHAVE_SYSINFO=1 -DHAVE_STRERROR=1 -DHAVE_ENDPWENT=1 -DHAVE_GETCWD=1 -DHAVE_STRCHR=1 -DHAVE_STRCSPN=1 -DHAVE_STRTOUL=1 -DHAVE_MEMSET=1 -DHAVE_STRTOL=1 -I. -msse2  -ljson -lcurl -DHAVE_CURL_CURL_H -DHAVE_ADL_SDK_H -I/include   -I/include -O3 -funroll-loops  -g -O2 -MT hashkill-ocl-adl.o -MD -MP -MF .deps/hashkill-ocl-adl.Tpo -c -o hashkill-ocl-adl.o `test -f 'ocl-adl.c' || echo './'`ocl-adl.c
ocl-adl.c:3:21: fatal error: adl_sdk.h: No such file or directory
compilation terminated.
make[2]: *** [hashkill-ocl-adl.o] Error 1


and rebuild returned

khash@UbuntuMiner:~/Downloads/hashkill/source/hashkill$ ./rebuild.sh
configure.ac: warning: missing AC_CHECK_FUNCS([mkdir]) wanted by: src/sessions.c:150
configure.ac: warning: missing AC_CHECK_FUNCS([setenv]) wanted by: src/main.c:297
configure.ac: warning: missing AC_PROG_CXX wanted by: src/amd_bitcoin.ll
configure.ac: warning: missing AC_PROG_LN_S wanted by: 64bitset.sh:7
Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 196.
Use of uninitialized value in pattern match (m//) at /usr/bin/autoreconf line 196.
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --no-force
src/Makefile.am:20: compiling `plugins.c' with per-target flags requires `AM_PROG_CC_C_O' in `configure.ac'
autoreconf: Leaving directory `.'
src/Makefile.am:20: compiling `plugins.c' with per-target flags requires `AM_PROG_CC_C_O' in `configure.ac'

any suggestions?



Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 10, 2011, 02:33:18 PM
Ummm, OK, just use that exact sequence of commands:

Quote
export ATISTREAMSDKROOT=/opt/ati-stream-sdk-v2.3-lnx64
export ADLROOT=/opt/ADL_SDK_3.0
make depclean
./rebuild.sh
./configure
make
sudo make install


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 10, 2011, 02:50:47 PM
Ummm, OK, just use that exact sequence of commands:

Quote
export ATISTREAMSDKROOT=/opt/ati-stream-sdk-v2.3-lnx64
export ADLROOT=/opt/ADL_SDK_3.0
make depclean
./rebuild.sh
./configure
make
sudo make install

i must be doing something wrong

khash@UbuntuMiner:~/Downloads/hashkill/source/hashkill$ export ATISTREAMSDKROOT=/opt/ati-stream-sdk-v2.3-lnx64
khash@UbuntuMiner:~/Downloads/hashkill/source/hashkill$ export ADLROOT=/opt/ADL_SDK_3.0
khash@UbuntuMiner:~/Downloads/hashkill/source/hashkill$ make depclean
make: *** No rule to make target `depclean'.  Stop.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 10, 2011, 03:17:32 PM
Alright, skip the make depclean part then, just go on with the next ones exactly as I posted


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 10, 2011, 03:53:02 PM
brb, have to buy some food, we'll go on in an hour


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 10, 2011, 05:16:55 PM
Alright, skip the make depclean part then, just go on with the next ones exactly as I posted

oke i'm back, with a new clean system where the normal hashkill works

first step: hashkill-source  ./configure returns

khash@UbuntuMiner:~/Downloads/hashkillsource/hashkill$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating man/Makefile
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdlib.h... (cached) yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking openssl/md5.h usability... yes
checking openssl/md5.h presence... yes
checking for openssl/md5.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking openssl/sha1.h usability... no
checking openssl/sha1.h presence... no
checking for openssl/sha1.h... no
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking json/json.h usability... yes
checking json/json.h presence... yes
checking for json/json.h... yes
checking curl/curl.h usability... yes
checking curl/curl.h presence... yes
checking for curl/curl.h... yes
checking for size_t... yes
checking for uint64_t... yes
checking for uint32_t... yes
checking for uint16_t... yes
checking for ssize_t... yes
checking for inline... inline
checking for working alloca.h... yes
checking for alloca... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for uid_t in sys/types.h... yes
checking for x86 cpuid 0x00000001 output... 100f62:1020800:802009:178bfbff
checking whether sse2 is supported... yes
checking whether C compiler accepts -msse2... yes
configure: error: cannot run /bin/bash ./config.sub


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 10, 2011, 05:26:03 PM
Just repeat the steps omitting make depclean. This should be:

export ATISTREAMSDKROOT=/opt/ati-stream-sdk-v2.3-lnx64
export ADLROOT=/opt/ADL_SDK_3.0
./rebuild.sh
./configure
make
sudo make install


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 10, 2011, 05:40:34 PM
this time it compiled the whole way thru, (do you need the output of the complilation?)

khash@UbuntuMiner:/usr/bin$ ./hashkill-gpu -p bitcoin xxxxx
[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Redwood
[hashkill] GPU0: ATI Radeon HD 5570 [busy:0%] [temp:48C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 348696
[hashkill] Doing BFI_INT magic...
[hashkill] Long polling available, starting LP thread.

Mining statistics...
Segmentation fault


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 10, 2011, 06:09:36 PM
Hmmm could you try with -G1 command line option?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 10, 2011, 06:21:17 PM
Hmmm could you try with -G1 command line option?

When i got this segmentation fault, the normal hashkill didn't work either, so in the normal hashkill i re ./install.sh
and now the source compiled also works, but is this due to the normal reinstall or do i have to reinstall the source compiled one to when i want to run that version?

khash@UbuntuMiner:/usr/bin$ ./hashkill-gpu -p bitcoin xxxxx -G1
[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Redwood
[hashkill] GPU0: ATI Radeon HD 5570 [busy:3%] [temp:60C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 348936
[hashkill] Doing BFI_INT magic...
[hashkill] Long polling available, starting LP thread.

Mining statistics...
Speed: 70 MHash/sec [cur: 97%] [proc: 2] [subm: 1] [stale: 0] [eff: 50%]     ^C
[hashkill] Interrupted by user request!

[hashkill] Done!
[hashkill] Attack took 64 seconds.
[hashkill] Bye bye :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 10, 2011, 07:08:21 PM
Looks like the -G1 option fixed this (if I understand correct and the prebuilt version also works with -G1).

Unfortunately this is not optimal performance-wise, you are losing about 1.5% due to that (which is not much though, about 1M/s, you are likelly to get more with -D). Well, I am not sure what's the root cause yet. SDK2.3 should be thread-safe, it could be either my code or the ADL library. I am more inclined to blame my code though :)

Stupid thing is I cannot reproduce that here.

OK just one more thing - could you try running that with -G1 -D and also -G2 -D ? I guess -G2 -D would crash, still that would be an interesting experiment.


P.S this is the same as the entry in my estimations table though - at least I am glad about that :)

http://www.gat3way.eu/est.php


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 10, 2011, 08:04:23 PM
Looks like the -G1 option fixed this (if I understand correct and the prebuilt version also works with -G1).

Unfortunately this is not optimal performance-wise, you are losing about 1.5% due to that (which is not much though, about 1M/s, you are likelly to get more with -D). Well, I am not sure what's the root cause yet. SDK2.3 should be thread-safe, it could be either my code or the ADL library. I am more inclined to blame my code though :)

Stupid thing is I cannot reproduce that here.

OK just one more thing - could you try running that with -G1 -D and also -G2 -D ? I guess -G2 -D would crash, still that would be an interesting experiment.


P.S this is the same as the entry in my estimations table though - at least I am glad about that :)

http://www.gat3way.eu/est.php

Oke,
i have tried with -G -D, no desktop lag, works great, i ran it for 30 minutes, only 1 stale this time: Speed: 70 MHash/sec [cur: 63%] [proc: 54] [subm: 56] [stale: 1] [eff: 103%]
-G1 -D give sometimes slow mouse movements
-G2 -D and desktop becomes slow in moving screens around
-G4 -D and moving desktop stuff around becomes near to impossible

I am still a little unsatisfied about the segmentation fault, is there no install log file with compiling errors that could clear up this segmentation fault? It must start somewhere.
Maybe i'll try it again 2morrow, clean install (as in install tread before) with only hashkill source and some way to find a install log (if there is one).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 10, 2011, 08:25:21 PM
Hm, don't try -G4, you need really fast CPU for that. It does not matter for bitcoin at all, you are just rising your power consumption for no good use. There are some cases with hash cracking where it helps (again you need fast CPU and lots of RAM). I would not recommend anything above -G2.

OK so -D does not bring much of performance (not enough to round up to the next integer MH/s, 71 that is). It brings about 2MH/s on my 6870 (from 270 to 272) and it brings a lot for 6990. I guess it does not matter that much for slower GPUs.

As for the segfaults....ummm well probably the static-built binary is not really optimal for all users. Probably the best way to get full performance and avoid crashes is to build it yourself like you did. Mmmm this means I should work on the build stuff as currently it's too complicated and makes a lot of assumptions.

Hm BTW just one last question, is your GPU at stock clocks or OC'd ?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 10, 2011, 09:32:41 PM
Hm, don't try -G4, you need really fast CPU for that. It does not matter for bitcoin at all, you are just rising your power consumption for no good use. There are some cases with hash cracking where it helps (again you need fast CPU and lots of RAM). I would not recommend anything above -G2.

OK so -D does not bring much of performance (not enough to round up to the next integer MH/s, 71 that is). It brings about 2MH/s on my 6870 (from 270 to 272) and it brings a lot for 6990. I guess it does not matter that much for slower GPUs.

As for the segfaults....ummm well probably the static-built binary is not really optimal for all users. Probably the best way to get full performance and avoid crashes is to build it yourself like you did. Mmmm this means I should work on the build stuff as currently it's too complicated and makes a lot of assumptions.

Hm BTW just one last question, is your GPU at stock clocks or OC'd ?

The tryout version is on stock, did not come to installing oc software yet, but when i do i will post hashkill oc results


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sarah_tonin on May 10, 2011, 09:38:53 PM
@sarah_tonin: just to confirm everything works correctly, can you paste the proc/subm/stale/eff ratio after some minutes of work? Also, did you use the 64-bit or the 32-bit version? Cause I got reports from 5870 users that complain about bad performance and still trying to figure out what's the root cause.

@Jaime Frontero: the OpenCL runtime dumps them in the current directory, so you have to be in a writable directory (e.g /tmp). That's really odd, haven't seen such behavior yet.  BTW the whole export thing itself does not dump anything, you've got to run the hashkill binary after that, leave it running for a couple of seconds (say until it submits a share) then terminate it and look for the .isa files in the current directory.


I recently have been tweaking the clocks on my 5870 and using hashkill:

Code:
Speed: 382 MHash/sec [cur: 9%] [proc: 25926] [subm: 25089] [stale: 534] [eff: 96%]   

:~$ aticonfig --od-setclocks=900,900 --adapter=all

Adapter 0 - ATI Radeon HD 5800 Series
            New Core Peak   : 900
            New Memory Peak : 900

and from lspci -v to show the card is really this:

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon HD 5870 (Cypress) (prog-if 00 [VGA controller])
Subsystem: XFX Pine Group Inc. Device 2961

The speed is now around 380-390MH/s at 900MHz on the GPU and the memory clock down to 900MHz -- running fairly stable at around 82C and 99% busy :]


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 11, 2011, 10:42:44 AM

Hm BTW just one last question, is your GPU at stock clocks or OC'd ?

I have installed  AMDOverdriveCtrl and set max speed to 700mhz

OC' ed running steady at 75Mhash/s with peaks up to 79Mhash, compared to stockspeed at 70/71MHash/s

Hashkill Mining statistics...
Speed: 75 MHash/sec [cur: 73%] [proc: 3] [subm: 3] [stale: 0] [eff: 100%]    
Long polling: got new block!
Speed: 79 MHash/sec [cur: 68%] [proc: 6] [subm: 8] [stale: 2] [eff: 133%]

Btw, do you have a git or svn repository for hashkill?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 11, 2011, 12:45:36 PM
I use sourceforge's SVN, but I haven't commited the bitcoin code yet


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 11, 2011, 04:30:52 PM

I recently have been tweaking the clocks on my 5870 and using hashkill:

Code:
Speed: 382 MHash/sec [cur: 9%] [proc: 25926] [subm: 25089] [stale: 534] [eff: 96%]   

:~$ aticonfig --od-setclocks=900,900 --adapter=all

Adapter 0 - ATI Radeon HD 5800 Series
            New Core Peak   : 900
            New Memory Peak : 900

and from lspci -v to show the card is really this:

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon HD 5870 (Cypress) (prog-if 00 [VGA controller])
Subsystem: XFX Pine Group Inc. Device 2961

The speed is now around 380-390MH/s at 900MHz on the GPU and the memory clock down to 900MHz -- running fairly stable at around 82C and 99% busy :]

good speed, sarah_tonin (BTW, i'm glad your enterochromaffin cells are doing well).

if i might - what brand 5870, and what voltage are you running at?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 11, 2011, 09:40:28 PM
A bugfix/performance improvement release:

* Fixed random crashes when ATI SDK <= 2.3
* Removed some unnecessary code that can lead to performance degradation on multi-gpu systems (or single-gpu ones with -G2 used)
* ATI Stream SDK 2.2 supported (without -D) and also SDK 2.1 (without -D)
* Improved host code, removed unnecessary synchronization, tuned NDRange, improvement about 0.5% (without -D) up to 2.5% with -D. It now peaks at 279M/s with -D on my 6870, stock clock (previously 272M/s).
* Fixed a stupid bug in the long polling code, stales should decrease
* Added minor performance optimizations in kernel, available with SDK 2.4 only.
* Added some minor tweaks to lower down CPU usage. This would make hashkill a bit more energy-efficient.


Known issue: with 32-bit builds, you might experience kernel compilation failures with SDK2.3 (reason:unknown,64-bit version does not have that problem). Just try another SDK. SDK 2.4 is best tested and works flawlessly for both architectures, with any command-line tweaks like -D or -G3. It also tends to be fastest.

Known issue: with SDK2.1 and SDK2.2, both 32-bit and 64-bit versions when used with -D are buggy and return wrong results. Please do not use -D with old sdks

Known issue: Thermal monitoring fails to map devices properly in some configurations (mostly related to onboard video adapters not supported by OpenCL).

Known issue: performance with -D is now more flaky and not as stable as before and desktop is slightly less responsive. This is the tradeoff for higher performance and won't be fixed.

Not implemented yet: fail-over extension used in deepbit.


Download:

32-bit build:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz


64-bit build:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 12, 2011, 11:22:21 AM
I cant download the latest hashkill. Your site is not reachable for more than 12 hours now.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dishwara on May 12, 2011, 11:35:32 AM
i too got page error. Files is not there.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 12, 2011, 11:37:46 AM
Apparently there are connectivity problems. Unfortunately I am away and can't do anything for the next 4-5 hours :(


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 12, 2011, 11:50:11 AM
Apparently there are connectivity problems. Unfortunately I am away and can't do anything for the next 4-5 hours :(

Oke, will try again later  :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 12, 2011, 04:38:18 PM
Network connectivity restored.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 12, 2011, 04:49:57 PM
Network connectivity restored.

yep, download is working again


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 12, 2011, 05:00:30 PM
BTW...performance is more stable with -D if you switch from ondemand to performance cpu governor. I am not sure the increased CPU power consumption is worth this though.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 12, 2011, 05:48:37 PM
BTW...performance is more stable with -D if you switch from ondemand to performance cpu governor. I am not sure the increased CPU power consumption is worth this though.

I have run it for 30 mintutes with minor desktop/mouse lag, near to none
Before i had a stable 75Mhash/s
now:
without the -D or -G1  between 75-77Mhash/s
with -G1 or G2 and -D ~78Mhash/s - Speed: 78 MHash/sec [cur: 68%] [proc: 9] [subm: 7] [stale: 4] [eff: 77%]
Maybe the high stale rate is a fluke, must run it longer to know for shure

(where do i change ondemand to performance cpu governor in hashkill)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 12, 2011, 06:04:11 PM
It's not hashkill.

Just do smth like:

echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 12, 2011, 06:15:13 PM
Hmmm, trying to use the latest version with SDK 2.4 and I get this:

Code:
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)[error] (ocl_bitcoin.c:997) clBuildProgram error (-11)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 12, 2011, 06:17:56 PM
What GPU do you have, bolapara?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 12, 2011, 06:52:26 PM
How much cpu power is used when mining on gpu? Is hashkill using this for mining performance or goes this to desktop taskst. I rather have my cpu set to powersave mode, but for a better and stable desktop performance i will increase it in steps until it runs smoothly. Maybe setting this to performance mode is a little to much. I will try different modes and see if it makes really difference.
used: sudo sh -c "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 12, 2011, 07:30:33 PM
What GPU do you have, bolapara?

Two 5870s


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 12, 2011, 08:16:23 PM
Hmm you did not forget to do sudo ./install.sh, not just ./install.sh ?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 12, 2011, 08:45:43 PM
Hmm you did not forget to do sudo ./install.sh, not just ./install.sh ?
Nope.

It'll work if I change the SDK to 2.3.  But with 2.4 it will not work at all.

(2.3 is slow for me)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 12, 2011, 08:54:40 PM
Yeah, there are some optimizations in the kernel, specific for 2.4 SDK. It should not be failing to build the kernel though, that's rather strange. Did you install the icd-registration.tgz stuff from 2.4?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gnaffel on May 12, 2011, 09:02:54 PM
BTW...performance is more stable with -D if you switch from ondemand to performance cpu governor. I am not sure the increased CPU power consumption is worth this though.

I have played around with ondemand-performance-powersave cpufreqs, but i dont see any big differences at first eye.
Hashkill cpu usage is between 2%-4%, when i dont use desktop apps. Compared to poclbm cpu usage around 46%, same conditions.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 12, 2011, 09:32:39 PM
Yeah, there are some optimizations in the kernel, specific for 2.4 SDK. It should not be failing to build the kernel though, that's rather strange. Did you install the icd-registration.tgz stuff from 2.4?
Yeah.  Just verified it's contents are in /etc/OpenCL/vendors - it is..  No change.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 12, 2011, 09:51:13 PM
Hmmmm...perhaps I should add a build log output option. That's rather strange indeed, it's a generic one and there should be no reason it fails on 5870 while compiling on 5570 for example....

Ah I see now...you are reaching a hardcoded limit for a binary size. OK this will be fixed.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: allinvain on May 13, 2011, 12:12:02 AM
BTW...performance is more stable with -D if you switch from ondemand to performance cpu governor. I am not sure the increased CPU power consumption is worth this though.

I have played around with ondemand-performance-powersave cpufreqs, but i dont see any big differences at first eye.
Hashkill cpu usage is between 2%-4%, when i dont use desktop apps. Compared to poclbm cpu usage around 46%, same conditions.

wow really..for this alone I am dying to see a windows build :) I'd really love to swap out poclbm for hashkill if it means no more 100% cpu usage.



Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 13, 2011, 12:32:47 AM
Hmmmm...perhaps I should add a build log output option. That's rather strange indeed, it's a generic one and there should be no reason it fails on 5870 while compiling on 5570 for example....

Ah I see now...you are reaching a hardcoded limit for a binary size. OK this will be fixed.

I don't think this is for me, at least...

I ran an strace on hashkill and it appears that it may be dying while trying to run clc?  I look a little further and it appears my 2.4 SDK doesn't have a clc binary in bin/x86_64 (or at all).  Something may be up with my SDK.  I re-downloaded it and see the same thing.  Am I missing something here?

Edit:  More research shows that they removed clc from the 2.4 SDK.  Does hashkill still need it?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 13, 2011, 06:00:19 AM
It should never ever try to run clc alone. clc is invoked (was invoked) by the OpenCL runtime itself. With 2.4, clc is deprecated and it should be not exec'd at all.

Hm it could be somehow trying to use an older SDK. Please check again what the LD_LIBRARY_PATH variable contains (it is the only envvar you need with 2.4 as ATISTREAMSDKROOT one was deprecated). Also, you can check the SDK version in effect by doing:

ldd /usr/bin/hashkill |grep OpenCL

this will print out the exact path to the OpenCL library used.


As for the CPU usage - there are a couple of potential causes for this. One is the SDK itself as it uses spinlocks for synchronization. On linux, there is an environment variable that overrides that behavior, which is set automatically by hashkill. It works on most occasions, but I have seen this failing on some systems though for no apparent reason. On windows, that variable is not available.

Another reason would be the miner itself. I have tried to minimize CPU usage, but indeed there is nothing you can do if the root cause for that is the SDK.

P.S you are advised to play with -G1/-G2/-D flags until you find the ones that best work for you. Basically, -G2 -D tends to be fastest on most systems, but sometimes they may not be optimal.

Unfortunately, windows version is not planned soon.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bolapara on May 14, 2011, 05:16:57 AM
It should never ever try to run clc alone. clc is invoked (was invoked) by the OpenCL runtime itself. With 2.4, clc is deprecated and it should be not exec'd at all.

Hm it could be somehow trying to use an older SDK. Please check again what the LD_LIBRARY_PATH variable contains (it is the only envvar you need with 2.4 as ATISTREAMSDKROOT one was deprecated). Also, you can check the SDK version in effect by doing:

ldd /usr/bin/hashkill |grep OpenCL

this will print out the exact path to the OpenCL library used.

ldd reports I'm using 2.4 as expected..  I'm confused.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: StinkiePhish on May 14, 2011, 06:25:13 AM
Many thanks for sharing this software.  I have it running a box with 5770x2 and a 5870 and is generating beautifully.  On another machine, I have a 5970 and a 5870, and the Speed is being displayed incorrectly:

Code:
[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] GPU0: ATI Radeon HD 5800 Series  [busy:0%] [temp:50C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at btcmine.com:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 349352
[hashkill] Doing BFI_INT magic...

Mining statistics...
Speed: 172 MHash/sec [cur: 24%] [proc: 128] [subm: 98] [stale: 3] [eff: 76%]     

The "proc" and "subm" are going up, indicating that it is submitting shares near the expected speed.  "aticonfig --odgc --adapter=all" returns that all GPUs are being fully used.

I have attempted with and without -D and -G 1 to -G 4 with no change on the display.  I am running ATI SDK 2.4 on Ubuntu 10.10, Intel Xeon 3.0 GHz, 8 GB RAM.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Rush on May 16, 2011, 04:35:05 PM
I have just tried hashkill and I have two issues with it:
1) First time I was testing it, it encountered some connection issue and went down - I think it should try to reconnect and not require running it in a loop
2) It runs bad when the output is redirected to a file, for example:
Code:
hashkill-gpu <options> &> hashkill.log
I wasn't able to run it at all in this way with it spamming a lot of messages for not being able to get stuff for bitcoin.pool.dashjr.org

Otherwise, it has great speeds with my 6870 - 305Mhs at 990Mhz. That's 8Mhs better than phoenix with phatk!!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 16, 2011, 07:07:43 PM
It should reconnect unless it's the first connection attempt in which case it bails out (as most likely it's due to bad hostname/port). Retry period is 20 seconds.

As for the file redirection, this will never happen as it is rather inconvinient to parse. While I am planning and building a mining rig at home, I am currently extending it to dump status data in a text file in a specific (more easily parsable) format to be used by a couple of monitoring scripts with a web frontend and mail notifications. Still don't know what portion of it will be released though - as I am doing this mostly for my personal use and don't have enough time. Probably only the status exports.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on May 17, 2011, 01:33:29 PM
I'm sorry if it has been asked before, but I can't understand the meaning of "cur%" and why the difference from processed and submitted blocks.

Someone cares to explain me?

Thanks!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 17, 2011, 05:04:46 PM
cur % is the percentage of the keyspace of the current getwork already calculated and checked. You have ~ 4 billion possible nonces per getwork that need to be tried. 50% would mean that we are currently trying nonce ~ 2 billion.

subm is the number of successfully submitted shares. It might be higher, lower or equal to the number of processed getworks.

stale is not quite appropriate as it includes both stale and invalid shares. Under normal circumstances, there shouldn't be any invalid ones, however with higher temperatures and too much OC, it is possible that the hardware starts calculating hashes incorrectly. Abnormally high stale numbers mean that there are hardware problems.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on May 17, 2011, 06:35:36 PM
Thank you gat3way for the explainations, I need some clarifications, though:
subm is the number of successfully submitted shares. It might be higher, lower or equal to the number of processed getworks.
How can this be possible...?
And anyway why there is difference between processed and submitted?

Quote
stale is not quite appropriate as it includes both stale and invalid shares. Under normal circumstances, there shouldn't be any invalid ones, however with higher temperatures and too much OC, it is possible that the hardware starts calculating hashes incorrectly. Abnormally high stale numbers mean that there are hardware problems.
What is "abnormally high"?
It would be very useful to know the number of "real" stale shares and the invalid ones to diagnose hw problems.
For example, I've an efficiency of around only 90%: is this an "abnormally low" number?
(I suspect it should be near 100%)

Thanks in advance!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 17, 2011, 07:40:56 PM
Quote
How can this be possible...?
And anyway why there is difference between processed and submitted?

It is possible because you can have either 0, or 1 or more than 1 possible "solutions" for a single getwork.


Quote
What is "abnormally high"?
It would be very useful to know the number of "real" stale shares and the invalid ones to diagnose hw problems.
For example, I've an efficiency of around only 90%: is this an "abnormally low" number?
(I suspect it should be near 100%)

Without -D I guess anything below 3% would be OK, with -D probably more. Stale percentage of 20 for example smells rather fishy.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: leepfrog on May 23, 2011, 06:25:24 PM
Just testing hashkill with ubuntu 11.4 and 3x5830 + 1x6870.

It seems to work fine (aticonfig --odgc shows 99% usage), and also the pool website shows around the speed i am expecting (900-1000 mhash/s).

However hashkill itself only shows between 110 and 140 mhash..

Any idea whats wrong? Do you need any further logs?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 23, 2011, 07:54:37 PM
I am aware of that bug (you are using the 32-bit version I suppose?).

There are also issues with the ADL monitoring I am currently working on.

And since I am building a small rig as well, I noticed some things that can be improved. For example we can log the output into a convinient to parse file or SQL database so that web frontend can be done much less painfully. So there is some work to do. I will hopefully release a new version in 2 or 3 weeks. No performance benefits expected though


Title: Re: hashkill - testing bitcoin miner plugin
Post by: leepfrog on May 23, 2011, 08:07:33 PM
No as it is a 64bit ubuntu it should be using the 64 bit version (or is this a flag or something which must be set explicitly)?

The sad thing is that ATM it is very hard to compare hash speed with other miners as you have to rely on the rates reported by the pool (which tend to jump up and down around 100mhash).

Looking forward to your next release!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 23, 2011, 08:27:37 PM
Well,I know this sucks, but I am too tired of that "release early, release often" stuff. I need some more time to properly address all the issues instead of relying on feedback for each small incremental improvement and bugfix.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gigabytecoin on May 26, 2011, 07:46:32 AM
Site is down :(

Anybody have a copy? Torrent file?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Jaime Frontero on May 26, 2011, 08:17:41 AM
Site is down :(

Anybody have a copy? Torrent file?

check PM...


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 27, 2011, 10:22:15 PM
A new version, this time beta quality.

Fixed:

* progress indicator issues (sigh)
* better queueing mechanism
* ADL thermal monitoring stuff now works correctly - you should have thermal monitoring and stats for all your GPUs
* fixed bug on some systems causing hashkill to stop properly submitting shares
* improved multi-gpu support
* mining.bitcoin.cz now properly reports account info when -a is used with the correct API key

New feature:

* progress now autosaved in a text file, json format. It is autosaved in ~/.hashkill/bitcoin.json . This file can be parsed in order to implement external tools that collect statistics, draw graphs, provide web interface and stuff. This feature will be extended in the future to provide GPU temps info and pool stats.

Download:

64-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz

32-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz

Please use sudo ./install.sh or run install.sh as root. This is especially important if you have previously installed hashkill - older files need to be overwritten.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dikidera on May 27, 2011, 10:23:41 PM
Щo нe cпиш бpe gat3way   ;D

Nice release though.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 27, 2011, 10:43:44 PM
Exex бeзcъниe :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on May 27, 2011, 10:50:11 PM
The date on the executable is 5/11/2011

Also, I don't see a folder in my home directory named ".hashkill"

Did I download the new version before you updated the .tgz?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 27, 2011, 10:51:23 PM
Hm, browser caching issues?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on May 27, 2011, 11:00:27 PM
I got it now. Thanks.

BTW is it possible to turn off the writing logfile info to disk? Does it slow things down at all?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 27, 2011, 11:03:54 PM
Shouldn't slow down. File is rather small. It is overwritten each 5 seconds so if you want to generate graphs or stuff, you gotta write a script that parses that each 5 secs and e.g updates a sql database. hashkill does not keep history of past values.

P.S if you need to tune speed, play with -D and -G2/-G3/-G4 options until you find a balance. -D -G2 works best for me (2x5870/1x6870).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dikidera on May 27, 2011, 11:08:00 PM
Are you solo gat3? I was thinking of getting another 5850 so i can CF, however a 6950 is not a bad choice either(minus the CF).
Should still be profitable considering EVN charges 0.18BGN for 1KW


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 27, 2011, 11:11:13 PM
Pooled.

BTW, I've put an estimations table (for hashkill, but ratios should be OK for other miners though speeds won't be the same):

http://www.gat3way.eu/est.php

It is surprisingly accurate eheh, real speeds vary up to +/- 1.5% as compared to estimations on real tests I've done on different hardware. Formula is rather simple, but anyway we are getting OT here...

So I guess 5850 is more energy efficient than 6950. But then other factors come into play (e.g you may be limited on pcie slots or stuff, then faster cards may be better even if they are not that power-efficient).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dikidera on May 27, 2011, 11:16:17 PM
The only problem i have is heat. And summer is also going to take it's toll. But no matter how i look at it, a 6950 uses about 160w at stock and does ~310 Mhash/s.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on May 27, 2011, 11:22:24 PM
Heat is a bitch. But then, it could be much worse - there are places much warmer than Bulgaria. And electricity is cheap ATM (however with that renewable energy EU crap it might soon get much more expensive).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 01, 2011, 08:36:42 PM
gat3way --

Are you still developing this plugin (optimizing, adding features, etc.)?

In the last day or so, I've been getting this A LOT

  [error] (ocl_bitcoin.c:239) Long polling failure, will retry in 20s!

Moreover, I'm getting

Speed: 283 MHash/sec [cur: 63%] [proc: 147] [subm: 107] [stale: 8] [eff: 72%]
(I'm using deepbit.net)

Which looks like a bit high on the stale shares -- possibly because long polling isn't working?

What do you think it might be?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: xen82 on June 02, 2011, 03:25:38 PM
I'm a proud owner of a system with dual 6990s and the problem that I'm having with hashkill is that my queue keeps running dry. I understand that there is a work around (by spawning multiple hashkill instances), but has there been any progress in keeping the queue saturated? I think that this would be the single biggest improvement for me (considering that I've upgraded to dual PSUs so I'm thinking about about getting a 3rd 6990 for my system), which would make me extremely happy and warrant a donation...


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 02, 2011, 04:30:36 PM
Hello,

I was not aware of that deepbit long polling issue as I don't use deepbit, but I will investigate that.

As for queue depth, I will increase that, but I have no plans to make it configurable.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: spiccioli on June 02, 2011, 09:15:54 PM
A new version, this time beta quality.

Fixed:

* progress indicator issues (sigh)
* better queueing mechanism
* ADL thermal monitoring stuff now works correctly - you should have thermal monitoring and stats for all your GPUs
* fixed bug on some systems causing hashkill to stop properly submitting shares
* improved multi-gpu support
* mining.bitcoin.cz now properly reports account info when -a is used with the correct API key

New feature:

* progress now autosaved in a text file, json format. It is autosaved in ~/.hashkill/bitcoin.json . This file can be parsed in order to implement external tools that collect statistics, draw graphs, provide web interface and stuff. This feature will be extended in the future to provide GPU temps info and pool stats.

Download:

64-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz

32-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz

Please use sudo ./install.sh or run install.sh as root. This is especially important if you have previously installed hashkill - older files need to be overwritten.

Hi gat3way,

I've just downloaded it and started it on a pc with linuxcoin on a usb stick where I'm solo mining with 2x5850 against a bitcoind server (win32) in my office, the program segfaults soon after the BFI_INT magic thing.

[hashkill] Version 0.2.5
[hashkill] Using GPU double mode
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at XXX.XXX.XX:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 349524
[hashkill] Doing BFI_INT magic...
Segmentation fault

I can run it against mining.bitcoin.cz, but it spends a lot of time doing nothing.

[hashkill] Version 0.2.5
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at mining.bitcoin.cz:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 349524
[hashkill] Doing BFI_INT magic...

Mining statistics...
Speed: 144 MHash/sec [cur: 16%] [proc: 5] [subm: 3] [stale: 0] [eff: 60%]     
Speed: 579 MHash/sec [cur: 84%] [proc: 6] [subm: 3] [stale: 0] [eff: 50%]     
Speed: 135 MHash/sec [cur: 100%] [proc: 6] [subm: 3] [stale: 0] [eff: 50%]     
Speed: 0 MHash/sec [cur: 100%] [proc: 6] [subm: 4] [stale: 0] [eff: 66%]     

with the 0 MHash/sec which happens after every 'unit of work' reaches 100%.

Do you have any hints?

spiccioli.

ps. writing to .hashkill/bitcoin.json on a usb drive could cause wear on the unit, it would be better to have a way to stop it from writing bitcoin.json


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 03, 2011, 07:33:10 AM
At the moment, the only workaround for that is to run a second (or even third) instance. They would balance the load and eliminate that getwork problem. Until now, my attempts to increase queue depth generate other problems especially on slower systems - the stales increase. Thinking of having a separate queue per device, but haven't tried yet.

Quote
ps. writing to .hashkill/bitcoin.json on a usb drive could cause wear on the unit, it would be better to have a way to stop it from writing bitcoin.json

You are having your home directory on the USB device? That's too much writes anyway. I'd suggest you to change it to /dev/shm or stuff.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: snoleo on June 04, 2011, 07:01:57 AM
Hello,

I was not aware of that deepbit long polling issue as I don't use deepbit, but I will investigate that.

As for queue depth, I will increase that, but I have no plans to make it configurable.

hashkill is amazing and terrific!
Among all the miners, hashkill is the fastest!

HD 5870, clock: 850

Under SDK v2.4

phoenix -k phatk : 358.88 Mhash/sec
hashkill -D -G4 : 379 Mhash/sec

But there is one problem: I have also encoutered the "Long polling failure" when using deepbit.net;
But when using btcmine.com, everything seems to be fine.

BTW, i wonder if there could be a switch to control the time waiting (default is 20 sec) when disconnected or error occured.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gigabytecoin on June 04, 2011, 07:06:32 AM
Hello,

I was not aware of that deepbit long polling issue as I don't use deepbit, but I will investigate that.

As for queue depth, I will increase that, but I have no plans to make it configurable.

hashkill is amazing and terrific!
Among all the miners, hashkill is the fastest!

HD 5870, clock: 850

Under SDK v2.4

phoenix -k phatk : 358.88 Mhash/sec
hashkill -D -G4 : 379 Mhash/sec

But there is one problem: I have also encoutered the "Long polling failure" when using deepbit.net;
But when using btcmine.com, everything seems to be fine.

BTW, i wonder if there could be a switch to control the time waiting (default is 20 sec) when disconnected or error occured.

It could just be all of the DDoS stress that deepbit.net has been under lately :S


Title: Re: hashkill - testing bitcoin miner plugin
Post by: RedLine888 on June 04, 2011, 07:22:20 AM
Compile windows version please!!!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 04, 2011, 09:14:52 AM
Reproduced the deepbit LP issue here. Still can't identify the root cause though - it looks like it was unable to establish HTTP connection, which is rather weird. I cannot reproduce that with other pools. Still working on that.

Apart from that, I am working on having a separate queueing per device. This would eliminate the need to run second or third instance on fast multi-gpu systems and is likely to increase efficiency and decrease stale number.

Unfortunately, porting to Windows would take a lot of time and efforts and is not planned in near future. It is more likely that I port that to MacOSX first.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: allinvain on June 04, 2011, 09:41:33 AM
Compile windows version please!!!

I second that notion...show us that hashkill is better than phoenix ;)



Title: Re: hashkill - testing bitcoin miner plugin
Post by: leepfrog on June 04, 2011, 10:26:31 AM
Reproduced the deepbit LP issue here. Still can't identify the root cause though - it looks like it was unable to establish HTTP connection, which is rather weird. I cannot reproduce that with other pools. Still working on that.

I think that might be a consequence of the ddos prevention. I've read somewhere in tychos thread that the LP connection is supposed to break every few minutes.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 04, 2011, 01:10:25 PM
OK I successfully implemented per-device queueing meaning that you can now get even 4x6990 utilized with a single instance.

I also came to a conclusion that some of you may not like. To maximize pure hashing speed, I had to resort to a couple of things in the host code. Those unfortunately lead to higher risk of producing stale/invalid values as well as rarely under some circumstances, it was possible that a valid share would not get submitted. Also, depending on the connection latency, spikes in overall performance were possible. This was the result of reduced thread synchronization in order to minimize kernel launch latency.

Funny thing is that I had some statistics gathered from a long periods of running the program. The effect of those marginal performance improvements (from 273MH/s to 276MH/s on 6870, from 742MH/s to 754MH/s on 2x5870 at stock speeds) is worth just the decreased successful share submit ratio. Besides that, stales/invalids increase making those performance benefits worthless at least for me.

As a result, you will likely not get the same performance benefits from running the program with -D. I decided to emphasize more on correctness and elimination of rare corner cases rather than on maximizing pure hashing speed at all means. My statistical results are not representative enough yet, but I am kinda glad with that decision given the current data. Note that hashkill at default settings is not getting slower than before, just a number of things that allowed for extra performance using the -D option are not available anymore, so you won't be getting as much as before.

On the other hand, speed would be much more stable with no occasional hiccups.

Pure hashing speed while being a good estimator of the overall mining profit, can be misleading. It's about the speed at which you are submitting correct shares, not the speed you are generating them. Maximizing the second at all possible costs is not always a good idea.

There are also other factors that contribute to the overall profit, one of them being downtime. Some pools have redundant servers and a json-based mechanism to inform the miner to switch over. No miner has implemented this (at least to my knowledge) which in my opinion is a pity.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sniper_sniperson on June 04, 2011, 01:22:08 PM
gat3way, can you give a little how-to for adding/compiling hashkill under current stable 64bit lfs version? What apps we need, are lfs ones enough?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: fasti on June 04, 2011, 01:30:54 PM
Tested for 5 hours with 2x 6950 880cores, Hashkill is telling that it's hashing at 700Mh/s. But hashrate calculated from accepted shares never went over 650Mh/s (1hour calcs). Also very high stale 2.5%.

While poclbm displays the same hashrate as from accepted shares(~680) with 0.35% stale.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sniper_sniperson on June 04, 2011, 01:40:42 PM
http://bitcoin.serw5.com/spazynsky-1.0.2-win32-setup.exe (http://bitcoin.serw5.com/spazynsky-1.0.2-win32-setup.exe)

What is this? Some trojan horse masked as free porn game?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Zagitta on June 04, 2011, 02:45:45 PM
It's a scam, DO NOT DOWNLOAD IT, it will email your wallet to him, just check the thread he created and scroll down to my proof


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 04, 2011, 04:21:08 PM
Tested for 5 hours with 2x 6950 880cores, Hashkill is telling that it's hashing at 700Mh/s. But hashrate calculated from accepted shares never went over 650Mh/s (1hour calcs). Also very high stale 2.5%.

While poclbm displays the same hashrate as from accepted shares(~680) with 0.35% stale.

This is disturbing -- I've been using Hashkill on my 2 x 6870 for the past week!

Gat3way -- does your new version address this? and when will it be released?

Thanks,

Matthew


Title: Re: hashkill - testing bitcoin miner plugin
Post by: snoleo on June 04, 2011, 06:05:05 PM
...

Pure hashing speed while being a good estimator of the overall mining profit, can be misleading. It's about the speed at which you are submitting correct shares, not the speed you are generating them. Maximizing the second at all possible costs is not always a good idea.

There are also other factors that contribute to the overall profit, one of them being downtime. Some pools have redundant servers and a json-based mechanism to inform the miner to switch over. No miner has implemented this (at least to my knowledge) which in my opinion is a pity.

Totally agree.  :)

I cannot wait to hear your good news.  :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 04, 2011, 07:01:38 PM
I guess today. Still doing some LP testing. The deepbit LP failure is fixed. Still haven't imlemented the failover support and I am likely to omit it in the next release.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 04, 2011, 07:57:28 PM
OK - here is the latest version. Fixed is the LP problem with deepbit, added per-device getwork queueing, improved ADL support,

Download:

64-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz

32-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz

@AngelusWebDesign: I guess your concerns were addressed with this release. In case you had the problems described above, it should fix them.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 04, 2011, 09:31:42 PM
Ok -- I cleared my browser cache, downloaded it, and overwrote the old version. I also made sure the executable was dated today -- all checked out. I remembered to run "install.sh".

So it's a pretty safe bet I'm running the new version. We'll see how it goes.

Before:
Poclbm on card 1 (Sapphire 6870 - GPU @ 950 MHz): 276.7 Mh/s
Poclbm on card 2 (XFX 6870 - GPU @ 940 MHz): 273.5 Mh/s
TOTAL: 550.2 Mh/s

Hashkill:
Both cards, 565 - 568 Mh/s

So I'm getting my usual boost from Hashkill -- let's hope it translates into more good shares :)

UPDATE 4:40 PM: As of right this instant, it's showing 129 submitted shares, 0 stale.
I also just saw, "Long polling: got new block!" -- that's a welcome sight.

It could be my imagination, but my card started getting a bit hotter -- particularly the weaker of the two (XFX). I had to up the fanspeed to 80% from 75% -- now the temps are stabilizing.

When I first ran it -- it MIGHT have been the old version -- it gave me the same error about long polling. I'm looking to see if it happens again. I am pretty sure I'm running the new version now.

BTW, Gat3way, have you ever heard of upping the version number when you release a new version? ;)

Thanks,

Matthew


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 04, 2011, 09:41:43 PM
Well it's not an official uprev yet, I still consider bitcoin code experimental. And I have other work related to hash cracking plugins. If we're good with bitcoin (though I'd still like to add some nice features like a list of pools to jump on network failure) I guess 0.2.5 would officially be out somewhere in July :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 04, 2011, 09:47:21 PM
Sounds good -- thanks!

I have some good figures to compare to -- I was running Poclbm for about 5 hours today; My rate stales was almost exactly 0.7% on each of the 2 cards.

I'll look at it around 9:00 tonight and see if I'm getting less stales. That would be great!

Matthew



Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 04, 2011, 09:52:52 PM
Stales would be greatly decreased with that release at the cost of some little performance loss (but your pool should support long polling). You can also check against the speed reported by the pool.

Anyway, hashkill still lacks CPU verification prior to sending. So if you are overclocking your cards too much, it is possible that you are sending invalid shares (false positives) and hashkill would count them as "stale". That's another feature I would like to implement, some miners warn you about your hardware running unstable. Unfortunately, hashkill does not do that at present.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 04, 2011, 10:02:53 PM
I created a new worker on deepbit.net, so I can see what they report as far as % stale shares.

What is the "eff" column mean?

Is that how efficiently I'm finding shares? In other words, how lucky I am?

I've seen it above 100% before. Right now it's at 87%.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 04, 2011, 10:11:20 PM
Generally it is, but right now it's not a good measure. Any new LP notification would reset current getwork and cause a new one to be issued per thread and by default we use 2 threads/GPU. When using a pool that supports long polling, efficiency is likely getting slowly down with time. I have to take that into account when calculating the "efficiency" percentage. I guess you can ignore that. Just have a look at deepbit's pool reported speed. It should be either somewhat higher or lower than the speed reported by hashkill. If it is constantly below the speed reported by hashkill (as reported before) then we have a problem.

P.S your speed as reported by the pool would likely drop on a new block notification. That's because the current getwork is being reset and you've got to wait until it's fed with a new one. Depending on your network latency (I am using a wireless connection that is not very fast and stable) you may even see some tens of Mhash/s drop. It should quickly compensate for this though.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 04, 2011, 10:16:28 PM
Has anything changed with the parameters? You said that multiple GPU setups should use -G 2 -D
But now you're saying that -D has been "de-fanged" and doesn't do much -- is it worth using at all?

Matthew


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 04, 2011, 10:21:00 PM
Well, it's still worth using -D. Default speeds (without -D) should not change and using -D with the latest version tends to be slower than before...but still faster than without -D. -G2 is the default one on AMD cards. I guess -G3 or -G4 would not bring you much (but your CPU usage and power consumption would be up using them)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Disposition on June 05, 2011, 12:04:22 AM
@gat3way

when you get a chance check out the error with btcguild's long polling?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: hchc on June 05, 2011, 04:18:10 AM
how does this compare with the phatk kernel?
I'm currently getting 302mh/s with 5830 976/300 on Win7

Would hashkill be able to beat that...I guess i could setup a linux machine to find out
Would it + stream sdk work thru a VM? (vmware etc...)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: supa on June 05, 2011, 05:01:41 AM
Random question -

The last time I tried this, it kept complaining about long polling failure while using eligius.st

Update -
I just tried it again and it constantly complains of long polling on eligius.

I'm also getting nearly 20% stale/invalid... ???


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 05, 2011, 08:01:16 AM
If you have downloaded prior versions, please make sure you are using the new version. Do:

Quote
md5sum /usr/bin/hashkill-gpu

For the 32-bit one it should return:
cda0feb360a2e81c5c93fbcfac86c6e6

And for the 64-bit one it should be:
855ec7e26d10b12845820dfbed1d9175

If those checksums don't match, please make sure:

* You don't have a browser caching issue with the download. Or if you have used wget, make sure you don't have it downloaded already so that the new download would be renamed to hashkill-....tgz.1
* You run the install.sh script with root privileges so that it is able to overwrite the old binary


Title: Re: hashkill - testing bitcoin miner plugin
Post by: supa on June 05, 2011, 08:05:48 AM

I have the newest version.

Can someone quickly test against mining.eligius.st port 8337 or 80 ?

The beginning output says Long Polling was detected, but I get the warning about long polling failing every 20 seconds.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 05, 2011, 08:10:46 AM
Ah, just tried. Dammit, they use relative URLs for that. OK, gotta fix that sorry.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: supa on June 05, 2011, 06:24:21 PM

.... did you fix it?  I'm not sure if I should be waiting for you to post a new download link or try the old download link and hope it's the new version? :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: RedLine888 on June 05, 2011, 07:02:16 PM
Hi!

Will there be a version for WINDOWS users?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dishwara on June 05, 2011, 07:23:18 PM
Hi!

Will there be a version for WINDOWS users?

Seems No & can't

http://forum.bitcoin.org/index.php?topic=12053


Title: Re: hashkill - testing bitcoin miner plugin
Post by: RedLine888 on June 05, 2011, 07:34:22 PM
Thanx.

that is sad(


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 05, 2011, 08:16:18 PM
The error is happening again, Gat3way.

I just got 1% stales I noticed, and I looked at my terminal output and it's giving the "error" Long polling failure, will retry in 20s!

The error happened here: _bitcoin.c:232


hashkill-gpu -G 2 -D -p bitcoin XXXX:XXXX:deepbit.net:8332

I checked the MD5, and it checked out to be the latest version.

Hopefully you can fix it -- thanks!

Matthew


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 06, 2011, 07:46:45 AM
Will have a look. It may also be a problem on the deepbit.net's side. Did it continue to throw that error or it stopped? Did restarting the miner fix that?

I am going to commit some fixes to the LP code today, fixing the eligius LP issue. Will have a look again at that.

BTW did you have a look at the speed as reported by deepbit?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 06, 2011, 03:36:35 PM
I tried restarting the miner -- didn't help. (BTW, I'm a fellow programmer, so trying to isolate a problem is 2nd nature ;) )

Deepbit started reporting a lot of stale shares (and Hashkill started complaining about the Long Polling, as I mentioned) -- when it starts to get over 2% I get nervous about not getting the most from my modest hardware. I'm only getting 20 MH/s more on my 2 cards with Hashkill -- which I love, don't get me wrong -- but if that 3.5% increase results in 2.5, 3, or 4% stale shares -- I have to do something.

You're right, it could be due to something on the Deepbit side -- is there anything the software could do to compensate, or deal with whatever it is? I don't think there's a server/debug log we could look at to see what's happening on the Deepbit side.

I like using Hashkill because I only have to run it once (instead of once per card), it's faster, and it makes me feel like I'm getting something extra for my 64-bit Linux install.

And a 3.5% increase is going to mean more and more as I add capacity. One more card on the way, for now.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 06, 2011, 05:00:02 PM
OK - the emergency fix is ready. This finally solves the LP issues on deepbit and elligius. Please redownload.

64-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz

32-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz


Title: Re: hashkill - testing bitcoin miner plugin
Post by: leepfrog on June 06, 2011, 05:10:32 PM
gat3way is there a way to disable reading of the thermal values of a GPU?
I am facing an issue where reading the gpu temperature via aticonfig sometimes reduces the fan speed back to 24% from my manual configured 90%.
I've once observed the same behaviour when running hashkill so I fear it might be the same issue and therefore would like to disable it completely.

Another question: I am mining with 3x5830 and 1 6870 on the same rig. From what I understand hashkill takes a piece of work from the pool and distributes it between the 4 cards.
Is it possible that this results in a performance impact because of different mhash/architecture?



Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 06, 2011, 05:16:58 PM
Quote
gat3way is there a way to disable reading of the thermal values of a GPU?
I am facing an issue where reading the gpu temperature via aticonfig sometimes reduces the fan speed back to 24% from my manual configured 90%.
I've once observed the same behaviour when running hashkill so I fear it might be the same issue and therefore would like to disable it completely.

That's rather strange and it should not happen. Never heard about something like that before. Have you tried using other Catalyst version? Unfortunately, thermal monitoring cannot be disabled at present (OK, there is a workaround - you can rename /usr/lib/libatiadlxx.so and it would stop working - aticonfig would stop working as well until you rename it back).

Quote
Another question: I am mining with 3x5830 and 1 6870 on the same rig. From what I understand hashkill takes a piece of work from the pool and distributes it between the 4 cards.
Is it possible that this results in a performance impact because of different mhash/architecture?

It used to. Now it has a separate queue per thread and by default you have 2*(number of GPUs) threads. It indeed resulted in performance loss on faster systems that was usually worked around by running a second instance. This should be no more valid now.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: leepfrog on June 06, 2011, 05:20:55 PM
The thermal issue is not related to hashkill - i guess it is something with the catalyst or SDK version... furthermore I am using cards which do not have the reference cooler (Sapphire 5830 Extreme), so this might also be an issue.
But this is not such a big deal - I've got a cronjob monitoring temperature and killing miners if temperature exeeds a threshold - just wanted to know if there is an undocumented switch.

Nice to hear that the LP issue as well as the performance with different GPUs has been increased, I'll give it another try later today!

Thanks for the super fast reply!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: fasti on June 06, 2011, 05:45:28 PM
mm.. after 4 proc, hashrate went to 0

Restarted.. after a while it shutdown my primary card and continued only with the other one.

Does it stop if there's some error?

I have overclocked my 6950 from 810 -> 880 with stock voltage. Haven't tested if it's stable, works with other miners w/o any increase to invalid. Temperature 77c with primary and 75 on secondary.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 06, 2011, 05:58:11 PM
Looks more like a connection problem to me. Do you have "failure connecting..." messages in the console?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: fasti on June 06, 2011, 06:08:01 PM
no.. nothing, it never reactivated the other GPU after it dropped it.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: fasti on June 06, 2011, 10:52:48 PM
Problem went away after 2 first tries... weird. Anyway now it's telling that my hashrate is up to 684, which is kind of lower than previous versions 704(altough it never provided no where near 700).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sal002 on June 07, 2011, 12:31:38 AM
I get this error when I try to run:

[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)[error] (ocl_bitcoin.c:1079) clBuildProgram error (-11)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sal002 on June 07, 2011, 12:52:21 AM
Nevermind - I am using 2.1 of the SDK - I assume this is the issue.

I'll do it on linuxcoin instead.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 07, 2011, 05:43:50 AM
Unfortunately it won't work with SDK 2.1. It also works with 2.2, but not at all optimal on multi-gpu systems.



Title: Re: hashkill - testing bitcoin miner plugin
Post by: dudel42 on June 07, 2011, 10:13:40 AM
hi,

Running the latest version here with:

./hashkill-gpu -G2 -D -p bitcoin xxx:xxx:xx...

However I get a little less MH/s than with phoenix (~275), and lots of stales?

Speed: 270 MHash/sec [proc: 86] [subm: 70] [stale: 22] [eff: 81%]

2.4 sdk, radeon 5850, 64bit  ubuntu 11.04

any ideas what could be wrong?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: doomy on June 07, 2011, 10:21:10 AM

32-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz


Hello gat3way, would it be possible to edit the first post with the 32 bit link.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: leepfrog on June 07, 2011, 11:18:43 AM
hi,

Running the latest version here with:

./hashkill-gpu -G2 -D -p bitcoin xxx:xxx:xx...

However I get a little less MH/s than with phoenix (~275), and lots of stales?

Speed: 270 MHash/sec [proc: 86] [subm: 70] [stale: 22] [eff: 81%]

2.4 sdk, radeon 5850, 64bit  ubuntu 11.04

any ideas what could be wrong?

Did you underclock your memory? From what I did observe it seems as hashkill can suffer a noticable performance impact if memory is downclocked.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: fasti on June 07, 2011, 11:55:33 AM
About the dropping GPU randomly... My 6950 seems to sometimes hop from 77-> 80 for one second and then go back to 77, increasing fan speed in the same time. Maybe hashkill for some reason detects this spiky(maybe more than 80c) temperature measure and shuts GPU down?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 07, 2011, 12:25:55 PM
Default thermal throttling value is 90C and there should be a warning displayed about that. I will investigate that GPU dropping issue as I haven't reproduced it yet.

Lowering mem clock should not affect performance as we use just 4 bytes of video memory. I can experiment with that though since we're also able to use host-accessible memory for that. However, since I use my machines for hash cracking too (where a lot more video memory is required) I can't afford to flash my GPU bios and extremely underclock memory just for testing.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dudel42 on June 07, 2011, 12:28:52 PM
hi,

Running the latest version here with:

./hashkill-gpu -G2 -D -p bitcoin xxx:xxx:xx...

However I get a little less MH/s than with phoenix (~275), and lots of stales?

Speed: 270 MHash/sec [proc: 86] [subm: 70] [stale: 22] [eff: 81%]

2.4 sdk, radeon 5850, 64bit  ubuntu 11.04

any ideas what could be wrong?

Did you underclock your memory? From what I did observe it seems as hashkill can suffer a noticable performance impact if memory is downclocked.

nope, running 5850 with stock clock/mem, haven't had time yet to play around with the clocks...


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dudel42 on June 07, 2011, 04:56:55 PM
how can one run hashkill without being logged on the desktop?

I want to move the system somewhere without a monitor attached, and I can't start hashkill in the ssh session when I'm not also logged in on the console...


Title: Re: hashkill - testing bitcoin miner plugin
Post by: xen82 on June 07, 2011, 05:09:19 PM
I tried the latest build of hashkill on my dual 6990 setup and I'm blown away with the performance. I think it's a great tool and look forward to see where things will be headed. I have been having trouble with connectivity to btcguild.com Phoenix 1.48 has been running rock stable (although with 10% lower speeds), so I think there must be some LP issues there.

One thing I've seen is LOTS of stales. When I used the latest hashkill with deepbit, I noticed I had 7% stales, that's plain crazy. I've tried tinkering with clock speeds, cooling other pools, nothing really helps to resolve this.

If that would be resolved the following would make hashkill slaughter the competition:

  • config file
  • some type of RPC (JSON-RPC anyone) interface for managing operation and querying status of miners (hash speed, temp, pause resume queue, etc)
  • ability to adjust fan speeds automatically and provide ability to set min and max speeds per card
  • either prioritize workloads per GPU or per GPU temperature... it would be good for long term operations to have all the GPUs working at the same temperature
  • an aggressiveness setting

If a solid RPC based management interface would be implemented with queue/workload management than I would be willing to put in some time to write the tedious interface bits in python :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: xen82 on June 07, 2011, 05:11:47 PM
how can one run hashkill without being logged on the desktop?

I want to move the system somewhere without a monitor attached, and I can't start hashkill in the ssh session when I'm not also logged in on the console...

You need to have X Windows started, and be logged in (in the case of say GDM). Then you can export your DISPLAY settings and start the app as that user. Hope that helps.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dudel42 on June 07, 2011, 05:14:33 PM
how can one run hashkill without being logged on the desktop?

I want to move the system somewhere without a monitor attached, and I can't start hashkill in the ssh session when I'm not also logged in on the console...

You need to have X Windows started, and be logged in (in the case of say GDM). Then you can export your DISPLAY settings and start the app as that user. Hope that helps.

yeah, that's what I'm doing now.. setup ubuntu to autologin on startup. just thought there was a way of using it without being logged in on the console, like with aticonfig.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 07, 2011, 05:18:24 PM
Quote
One thing I've seen is LOTS of stales. When I used the latest hashkill with deepbit, I noticed I had 7% stales, that's plain crazy. I've tried tinkering with clock speeds, cooling other pools, nothing really helps to resolve this.

Hmpf, that should have been resolved already. You are sure you ran install.sh with root privs?


Quote
   * config file

That would be nice...but what exactly are we going to configure that is hard to configure via command-line?

Quote
   * some type of RPC (JSON-RPC anyone) interface for managing operation and querying status of miners (hash speed, temp, pause resume queue, etc)

Right now there is such mechanism, but it's like read-only...you can have a look at the ~/.hashkill/bitcoin.json. It exports hash speed and etc stuff in json format. It sucks though and definitely it would be good to control it remotely.

Quote
   * ability to adjust fan speeds automatically and provide ability to set min and max speeds per card

This is a very bad idea. Tried doing that in the past. The end result being something that works good on one system and goes crazy on another (well I guess that's what the whole GPU programming is about anyway). Overall I am not inclined

Quote
   * either prioritize workloads per GPU or per GPU temperature... it would be good for long term operations to have all the GPUs working at the same temperature

This is an interesting idea that never occured to me before. Worth trying.

Quote
   * an aggressiveness setting

I guess -D and -G work that way. -D -G4 is rather aggressive while just -G1 is the most responsive.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 07, 2011, 05:22:20 PM
Quote
yeah, that's what I'm doing now.. setup ubuntu to autologin on startup. just thought there was a way of using it without being logged in on the console, like with aticonfig.

Have a look at this:

http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=19

I am running hashkill via ssh. No logged gnome user required. Also no local console logins needed.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dudel42 on June 07, 2011, 06:34:35 PM
great info, thx, will change that on the next reboot.

my problem right now lies with the following:

Code:
[proc: 1464] [subm: 553] [stale: 499] [eff: 37%]

this doesn't look all that good...

edit: i had it started with -D -G4 for experimenting with different parameters, guess that was causing it.. with -G2 things look much better.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: xen82 on June 07, 2011, 07:57:22 PM
Quote
One thing I've seen is LOTS of stales. When I used the latest hashkill with deepbit, I noticed I had 7% stales, that's plain crazy. I've tried tinkering with clock speeds, cooling other pools, nothing really helps to resolve this.

Hmpf, that should have been resolved already. You are sure you ran install.sh with root privs?


Quote
   * config file

That would be nice...but what exactly are we going to configure that is hard to configure via command-line?

Quote
   * some type of RPC (JSON-RPC anyone) interface for managing operation and querying status of miners (hash speed, temp, pause resume queue, etc)

Right now there is such mechanism, but it's like read-only...you can have a look at the ~/.hashkill/bitcoin.json. It exports hash speed and etc stuff in json format. It sucks though and definitely it would be good to control it remotely.

Quote
   * ability to adjust fan speeds automatically and provide ability to set min and max speeds per card

This is a very bad idea. Tried doing that in the past. The end result being something that works good on one system and goes crazy on another (well I guess that's what the whole GPU programming is about anyway). Overall I am not inclined

Quote
   * either prioritize workloads per GPU or per GPU temperature... it would be good for long term operations to have all the GPUs working at the same temperature

This is an interesting idea that never occured to me before. Worth trying.

Quote
   * an aggressiveness setting

I guess -D and -G work that way. -D -G4 is rather aggressive while just -G1 is the most responsive.


I used sudo ./install.sh so there were no permissions problems. Quick note, when you release an updated version of hashkill, please change the filename with every revision, I'm sure it will help with ambiguity and the bloody web proxies I deal with. :)

Config files keep things easy to manage when more and more features come into play.

At present I have 2x6990s running, and due to current cooling constraints, the 6990 that is running up top (gpu0 & gpu1) is running 15% hotter than the bottom card. Due to this, I am using phoenix and set the aggressiveness to 5 on GPU0, 7 on GPU1 and 12 on GPU2 and 3. I tried playing around with D and G, however I wasn't able to keep the card from overheating.

With regards to the temperature threshold in the current implementation, do you poll the SDK until the temperature drops 10C below threshold and begin processing, or do you have a predetermined time based time out.

With regards to prioritizing workloads to keep constant temperatures on the GPUs, it would help to prolong reduce wear from the cards heating up and cooling down.

BTW, have you tested hashkill with btcguild?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gominoa on June 08, 2011, 02:34:36 AM
Im running hashkill on a headless machine. Everything works fine if I access via ssh and manually start hashkill. Im trying to have it started automatically by a process manager in a non interactive shell. When I started this way i get the following output:

Code:
[error] (ocl_bitcoin.c:930) Statistics about that pool (pit.deepbit.net) not supported.

thousands of times. Literally 10mb of that error per second if I log the output to a file. Ive tried running like

Code:
echo | hashkill-gpu
or
Code:
hashkill-gpu < /dev/null

with no change. I would like some kind of daemon mode switch that completely disables pool stats and replaces the ^M^M^M in the MHash/sec output with a newline.

Thanks


Title: Re: hashkill - testing bitcoin miner plugin
Post by: marcus_of_augustus on June 08, 2011, 06:50:04 AM
gat3way:

When BFI_INT was implemented on poclbm lower mem. clock produced speed improvement and lower power usage on linux.

They may be related but icbw.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 08, 2011, 08:34:13 AM
I think those are not related. Besides, hashkill does the BFI_INT replacement as well.

Quote

Im trying to have it started automatically by a process manager in a non interactive shell. When I started this way i get the following output:

echo | hashkill-gpu

or

hashkill-gpu < /dev/null


with no change. I would like some kind of daemon mode switch that completely disables pool stats and replaces the ^M^M^M in the MHash/sec output with a newline.

Probably hashkill-gpu < /dev/zero instead?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dudel42 on June 08, 2011, 08:58:53 AM
Still having some problems with stale numbers here:

Code:
[proc: 1096] [subm: 1000] [stale: 63] [eff: 91%]

maybe this field could be separated, so we know whether it's actually a hw calculation error or a real stale share with the pool?

the number also varies over time for me, no stales for a long time, then several in a short amount of time, then stable again. But I have no idea if this is my hw's fault or not.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 08, 2011, 09:15:15 AM
Does your pool support long polling?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dudel42 on June 08, 2011, 09:27:06 AM
Does your pool support long polling?

slush's pool, http://mining.bitcoin.cz


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 08, 2011, 09:33:46 AM
Yeah, that's expected then, they have no long polling support. When block is solved there is no mechanism to inform you about that and hashkill is still working on a stale getwork (then eventually submits a share that is stale already). mining.bitcoin.cz does not "punish" you for submitting stales though (at least to my knowledge).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dudel42 on June 08, 2011, 09:37:07 AM
hmm, running guiminer on a another (windows) machine results in less then 1% stales on slush.

so hashkill could be more efficient when running on pools with lp support (more of my hashing power actually registering with the pool)?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 08, 2011, 09:44:27 AM
Nope, there is nothing that can be done in that case and it's a matter of luck. You will see higher stale percentage on "shorter" blocks and lower stale percentage on "longer blocks".


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gominoa on June 08, 2011, 05:18:06 PM
Probably hashkill-gpu < /dev/zero instead?

Got it working with
Code:
hashkill-gpu < /dev/stdin

Also hexedited the binary to remove the ^M^M^M so now Im happy.
Thanks for the cool miner.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on June 08, 2011, 09:35:56 PM
Have a look at this:

http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=19

I am running hashkill via ssh. No logged gnome user required. Also no local console logins needed.
Very nice, thanks.

The problem is I've no /dev/dri directory (I'm running Ubuntu 11.04), so the chmod that they provide fails.

Is this a problem? Why I don't have that directory?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: DonChate on June 09, 2011, 04:49:09 AM
thanks for the hard work building the bitcoin plugin to your great app. outperforms phoenix on the 5870, and I love how you don't need multiple instances!

Code:
phoenix-miner r100: 348Mhash/s
hashkill 0.2.5: 367Mhash/s


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sagefool1975 on June 09, 2011, 05:24:41 AM
Hmm getting seg fault myself:

[hashkill] Version 0.2.5
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cypress
[hashkill] GPU0: ATI Radeon HD 5800 Series [busy:0%] [temp:52C]
[hashkill] GPU1: ATI Radeon HD 2600 XT [busy:0%] [temp:65C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 1374888
[hashkill] Doing BFI_INT magic...
[hashkill] Long polling available, starting LP thread.
Segmentation fault


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 09, 2011, 06:56:59 AM
What SDK version you use?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sagefool1975 on June 09, 2011, 02:48:38 PM
2.1


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 09, 2011, 03:00:32 PM
You need 2.3 or above, sorry. It also works on 2.2, but speeds are not optimal.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sagefool1975 on June 09, 2011, 05:30:21 PM
Gotcha, I'll try 2.4 later today.

I did have 2.2 downloaded and tried it and got a segfault as well.

Any chance it is because one of my cards doesn't support opencl? (Old ATI 2600)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 09, 2011, 05:39:01 PM
Don't think so, but anyway I should check this possibility. Definitely though 2.1 would crash.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: twmz on June 09, 2011, 11:23:49 PM
Here is a data point for you.  Not sure if it is useful.

I have been using poclbm (up-to-date from git).  I decided to try hashkill for 24 hours to compare.  Here is what I found.

* The hash rate shown on screen was in fact higher with hashkill vs poclbm.  Close to 8% higher.
* % stale was not significantly better or worse (my pool supposes LP).  It was good with both (about 0.5%).
* However, the submitted share rate was significantly lower.  I understand that rate at which shares are found is driven somewhat by luck, but I feel like 24 hours of share data is long enough that a comparison is fair.  I collected data from two different machines running ubuntu:

Over two 24 hour periods:

Machine 1, 6850.  poclbm: 3974 shares, 195MH/s displayed.  hashkill: 3630 shares 201MH/s displayed.
Machine 2, 2x6970.  poclbm: 13256 shares, 670 MH/s displayed.  hashkill: 12270 shares, 710 MH/s displayed.

I can't explain this data.  But the reality is that I earned less on my PPS pool with hashkill.

One thing I noted on machine 2 is that twice, hashkill got into a state where the displayed hash rate was 355 MH/s and I could see from aticonfig output that one of the GPUs was idle.  I could see both times from the output of long poll messages that this had only been happening a few minutes both times.  I'm sure this resulted in some drop of rate of submitted shares, but I don't believe it can explain everything because of the fact that it had only been happening for a few minutes both times and the fact that Machine 1 also had a lower share rate and had only a single GPU.

Anyway, not sure what to make of this, but FYI.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sagefool1975 on June 10, 2011, 01:40:15 AM
LD_LIBRARY_PATH=/opt/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/

[hashkill] Version 0.2.5
[hashkill] Plugin 'bitcoin' loaded successfully
[error] (ocl-threads.c:97) clGetPlatformIDs returned error (no OpenCL installed?)
[hashkill] Threads queue size: 8 plaintexts/thread


ls -l /opt/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/
total 19940
-rwxr-xr-x 1 root root 19089776 2011-03-28 22:06 libamdocl64.so
-rwxr-xr-x 1 root root   512998 2011-03-28 22:06 libGLEW.so
-rwxr-xr-x 1 root root   753434 2011-03-28 22:06 libglut.so
lrwxrwxrwx 1 root root       14 2011-06-09 18:32 libOpenCL.so -> libOpenCL.so.1
-rwxr-xr-x 1 root root    20864 2011-03-28 22:06 libOpenCL.so.1


Title: Re: hashkill - testing bitcoin miner plugin
Post by: mamad on June 10, 2011, 05:03:24 AM
I am giving this a try but for some reason it keeps complaining about authentication error as soon as it finds new shares:


[hashkill] Version 0.2.5
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cayman
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cayman
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Cayman
[hashkill] GPU0: AMD Radeon HD 6900 Series  [busy:13%] [temp:41C]
[hashkill] GPU1: AMD Radeon HD 6900 Series  [busy:0%] [temp:36C]
[hashkill] GPU2: AMD Radeon HD 6900 Series  [busy:0%] [temp:44C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at mining.bitcoin.cz:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 203728
[hashkill] Doing BFI_INT magic...

Mining statistics...
Speed: 976 MHash/sec [proc: 10] [subm: 1] [stale: 3] [eff: 10%]     
[error] (ocl_bitcoin.c:318) Failure connecting and authenticating to server mining.bitcoin.cz at port 8332!
[error] (ocl_bitcoin.c:326) Retrying in 20s...
Speed: 0 MHash/sec [proc: 12] [subm: 1] [stale: 6] [eff: 8%]


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 10, 2011, 06:04:54 AM
LD_LIBRARY_PATH=/opt/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/

[hashkill] Version 0.2.5
[hashkill] Plugin 'bitcoin' loaded successfully
[error] (ocl-threads.c:97) clGetPlatformIDs returned error (no OpenCL installed?)
[hashkill] Threads queue size: 8 plaintexts/thread


ls -l /opt/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/
total 19940
-rwxr-xr-x 1 root root 19089776 2011-03-28 22:06 libamdocl64.so
-rwxr-xr-x 1 root root   512998 2011-03-28 22:06 libGLEW.so
-rwxr-xr-x 1 root root   753434 2011-03-28 22:06 libglut.so
lrwxrwxrwx 1 root root       14 2011-06-09 18:32 libOpenCL.so -> libOpenCL.so.1
-rwxr-xr-x 1 root root    20864 2011-03-28 22:06 libOpenCL.so.1


You need the ICD stuff installed. Go to /opt/AMD-APP-SDK-v2.4-lnx64, tar -zxvf icd-registration.tgz; cp -rp OpenCL/* /etc/OpenCL

SDK2.4 has different library names. You need to reinstall the ICD files for that. DO NOT DELETE ANYTHING FROM /etc/OpenCL !!! Otherwise you would lose backward compatibility with older SDKs.

P.S I am also mining on mining.bitcoin.cz as well. This morning when I got up, I noticed hashkill is stuck on "authentication failure". I've lost a couple of hours not mining anything. That's not good. I will investigate that. Anyway, multi-workers (in failover or load-balance mode) will be supported soon.

Quote
One thing I noted on machine 2 is that twice, hashkill got into a state where the displayed hash rate was 355 MH/s and I could see from aticonfig output that one of the GPUs was idle.

The speed indicator displays speed averaged in last 5 seconds. Anyway, that's not good. This means one or more threads are not "fed" fast enough with getworks and are waiting for more work to come and so they are idle. This could be a normal situation with slower links after a long polling notification as the queues are flushed and we are waiting for new work. But this is not normal otherwise.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dudel42 on June 10, 2011, 09:00:49 AM
Here is a data point for you.  Not sure if it is useful.

I have been using poclbm (up-to-date from git).  I decided to try hashkill for 24 hours to compare.  Here is what I found.

* The hash rate shown on screen was in fact higher with hashkill vs poclbm.  Close to 8% higher.
* % stale was not significantly better or worse (my pool supposes LP).  It was good with both (about 0.5%).
* However, the submitted share rate was significantly lower.  I understand that rate at which shares are found is driven somewhat by luck, but I feel like 24 hours of share data is long enough that a comparison is fair.  I collected data from two different machines running ubuntu:

Over two 24 hour periods:

Machine 1, 6850.  poclbm: 3974 shares, 195MH/s displayed.  hashkill: 3630 shares 201MH/s displayed.
Machine 2, 2x6970.  poclbm: 13256 shares, 670 MH/s displayed.  hashkill: 12270 shares, 710 MH/s displayed.

I can't explain this data.  But the reality is that I earned less on my PPS pool with hashkill.

I've noticed the exact same behavior, just haven't had time to conduct long time tests yet. hashkill had more hashes/s displayed, but just watching the pool statistics online it  always had less hashrate registered by the pool than phoenix.

that's why I switched back to phoenix for the time being, even though I really like hashkill (and expecially the fact that one process supports multiple gpus).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: xanatos on June 10, 2011, 09:11:16 AM
I'll add that I have converted the Hashkill "amd kernel" to be usable by the pocblm "front end". I'm using a single 5970. When not setting the VLIW4 #define the speed was very low, when setting VLIW4 the speed was equal (a little lower) than the pocblm standard kernel. So your observations confirm mine (but note that I had to make some changes to the hashkill kernel, like how the parameters are passed to the kernel, so my modified kernel isn't totally equal to the "original" hashkill kernel). I cannot release the "modified" kernel because the license of the kernel isn't "clear". But I CAN probably release a diff with the instructions on how to apply it. If anyone is interested just ask.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 10, 2011, 09:56:26 AM
It's GPL so it can be embedded into GPL software.

You SHOULD NOT set VLIW4 on 5xxx. The reason not using VLIW4 is slower is most likely because you don't take into account that 3 hash operations are calculated instead of 2 (you can consider that as if it was using uint3s instead of uint2s). I am not using uint3 because the OpenCL compiler is buggy and generates wrong ISA code, so that I interlace one uint2 and one uint hash operation.

Another thing is: do not pass OLD_ATI to the kernel unless you have a 4xxx GPU. Otherwise you'd have no BITALIGN and BFI_INT.



Title: Re: hashkill - testing bitcoin miner plugin
Post by: sagefool1975 on June 10, 2011, 02:18:55 PM

You need the ICD stuff installed. Go to /opt/AMD-APP-SDK-v2.4-lnx64, tar -zxvf icd-registration.tgz; cp -rp OpenCL/* /etc/OpenCL

SDK2.4 has different library names. You need to reinstall the ICD files for that. DO NOT DELETE ANYTHING FROM /etc/OpenCL !!! Otherwise you would lose backward compatibility with older SDKs.


Ahh ok, new registration.  Easy enough.

Also you probably want:

 cp -rp etc/OpenCL/* /etc/OpenCL/

(you where msising the leading etc) If you plan to include those directions in some kind of 'updating from < 2.3 section' of docs.  Thanks.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: xanatos on June 10, 2011, 05:07:31 PM
Here there is the "poclbm" version. You use it with poclbm by replacing the BitcoinMiner.cl with the file I'm providing. Remember that the base file I used (amd_bitcoin.cl) is licensed under GPL and so is the work I'm redistributing (I don't know if it's GPL v2, v2 or later or v3, ask the original author).
This version supports the BIT_INT "trick". It doesn't work correctly without the -v flag (because it does 3 hashes at a time, but poeclbm supports only 1 or 2 hashes at a time, and I think the frontend doesn't know when it should increment the root because it has already tested all the nonce values).

If you TRULY want to test the 3 hashes at a time mode, modify BitcoinMiner.py at line 96 from:

    (self.defines, self.rateDivisor, self.hashspace) = if_else(vectors, ('-DVECTORS', 500, 0x7FFFFFFF), ('', 1000, 0xFFFFFFFF))

to

    (self.defines, self.rateDivisor, self.hashspace) = if_else(vectors, ('-DVECTORS', 500, 0x7FFFFFFF), ('', 333, 0x55555555))

and call poclbm without the -v flag.

To call poclbm use something like:

    ./poclbm -d 0 -v -w 256 -f1 -u username --pass password -o address -p port

(skip the ./ if you are under Windows)

On my 5870 this kernel is a 2/3% slower than the standard poclbm kernel, but it could be that the small mods I have done to make it compatible to poclbm have "unbalanced" it.

The link with the file: http://www.mediafire.com/file/c3id5ruw4o7wadi/BitcoinMiner.cl

Oh... If anyone wants to tip me... I would be very happy :-) My first tip as a programmer! :-) (ok... I DO it for a work, but a tip is a tip :-) )


Tips appreciated: 1AwtyweUV9GBUhEHPtowAmgcj5uoUq4y1c


Title: Re: hashkill - testing bitcoin miner plugin
Post by: snoopy on June 10, 2011, 05:25:09 PM
Here is a data point for you.  Not sure if it is useful.

I have been using poclbm (up-to-date from git).  I decided to try hashkill for 24 hours to compare.  Here is what I found.

* The hash rate shown on screen was in fact higher with hashkill vs poclbm.  Close to 8% higher.
* % stale was not significantly better or worse (my pool supposes LP).  It was good with both (about 0.5%).
* However, the submitted share rate was significantly lower.  I understand that rate at which shares are found is driven somewhat by luck, but I feel like 24 hours of share data is long enough that a comparison is fair.  I collected data from two different machines running ubuntu:

Over two 24 hour periods:

Machine 1, 6850.  poclbm: 3974 shares, 195MH/s displayed.  hashkill: 3630 shares 201MH/s displayed.
Machine 2, 2x6970.  poclbm: 13256 shares, 670 MH/s displayed.  hashkill: 12270 shares, 710 MH/s displayed.

I can't explain this data.  But the reality is that I earned less on my PPS pool with hashkill.

I've noticed the exact same behavior, just haven't had time to conduct long time tests yet. hashkill had more hashes/s displayed, but just watching the pool statistics online it  always had less hashrate registered by the pool than phoenix.

that's why I switched back to phoenix for the time being, even though I really like hashkill (and expecially the fact that one process supports multiple gpus).

FWIW, I cannot reproduce what you two are seeing: when I compare the projected coins created per day given the hashrate hashkill displays with what I'm actually getting from my pool, it is accurate to .1 btc. So on my rig at least, it seems to be hashing at exactly the rate it's displaying. The same holds true for my poclbm instances as well when I compare those... (Just my .02 btc)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: lizthegrey on June 10, 2011, 05:45:34 PM
It's GPL so it can be embedded into GPL software.
I couldn't find source for the non-opencl portions. Would you mind providing a download link for the source corresponding to the 0.2.4 build? Thanks!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 10, 2011, 05:47:14 PM
http://hashkill.sourceforge.net/

I am _not_ providing any support regarding building it anyway,sorry.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 10, 2011, 09:28:04 PM
@xanatos, nice :)

Anyway, why did you remove that one?

Quote
__attribute__((reqd_work_group_size(64, 1, 1)))

I understand that workgroup size is configurable in poclbm. However, in most cases, 64 should be the best one. Also, hardcoding the required workgroup size helps the OpenCL compiler to do better the register allocation stuff as it "knows" the workgroup size in compile time and do not make worst-case assumptions. You are losing performance due to this.

Another thing is (don't know if that's possible with pyopencl) - don't use clenqueuereadbuffer() (or whatever it's equivalent is). Use clenqueuemapbuffer() instead. It's noticably faster. Hm really started wondering about modifying some python miner to incorporate that kernel there, looks like a quick way to make it portable to windows. Besides, there are obvious problems with the non-ocl part which are due to code inmaturity.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Capitan on June 10, 2011, 09:51:48 PM
I would not run this without the source being released. How do oyu know he's not stealing 1% / 1/2%, 1/4%, etc, of your compute cycles? Or some other nefarious thing?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 10, 2011, 09:53:14 PM
And how do you know your pool does not do the same?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on June 11, 2011, 06:12:05 PM
After some weeks of using hashkill because I find very neat to use just one program to mine on all gpu's I get tired to have very low efficiency (80-90%) so I tried phoenix.

Thanks to server side statistics (I'm using bitcoins.lc) the results are astounding: while phoenis is somewhat slower the total accepted share are WAAAAAY higher.
I gained more than 30% efficiency overall.

So I suppose there is something very very broken on hashkill but I'm unable to understand what.
I still have to understand why number of shares processed is different from submitted: most of times that number it's (much) higher but sometimes it can also be less (!).

Someone care to explain me how this is possible?

Thanks!
Dusty


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Clipse on June 11, 2011, 06:48:55 PM
Not sure why you have such poor eff cause Im on 100-104% the whole time , confused tho how I can get more than 100% eff.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: xanatos on June 13, 2011, 05:05:15 AM
@xanatos, nice :)

Anyway, why did you remove that one?

Quote
__attribute__((reqd_work_group_size(64, 1, 1)))

I understand that workgroup size is configurable in poclbm. However, in most cases, 64 should be the best one. Also, hardcoding the required workgroup size helps the OpenCL compiler to do better the register allocation stuff as it "knows" the workgroup size in compile time and do not make worst-case assumptions. You are losing performance due to this.

Another thing is (don't know if that's possible with pyopencl) - don't use clenqueuereadbuffer() (or whatever it's equivalent is). Use clenqueuemapbuffer() instead. It's noticably faster. Hm really started wondering about modifying some python miner to incorporate that kernel there, looks like a quick way to make it portable to windows. Besides, there are obvious problems with the non-ocl part which are due to code inmaturity.

Tried the first... No measurable difference (technically I first tried it with 64, but it was much slower, then changed it to 256, and there was no difference with the version without the attribute). Tried the second... Mmmmh... perhaps there was a difference, but it was very small. Tried even changing the size of the output buffer. You use a one-unit array, poclbm uses a 256 sized array, but no difference. The memory bandwitdth of the graphical adaptor is probably great enough that 1kb of data every second or so isn't truly measurable.

Tomorrow I'll modify the poclbm kernel to work with your frontend. It shouldn't be much difficult.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 14, 2011, 06:46:30 AM
There shouldn't be much of a difference (though device-host transfers would be slower with larger buffers of course). BTW is mapping/unmapping device memory possible with pyopencl?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on June 14, 2011, 07:18:16 AM
Not sure why you have such poor eff cause Im on 100-104% the whole time , confused tho how I can get more than 100% eff.
gat3way, I've the same question, can you please explain how this can happen?

Also I make a followup to my test: while for a single device I get more shares using server side statistics in respect to hashkill, the result is better for hashkill if I use multiple cards.

I guess there are a lot of details to check... btw I still get low efficiency, around 86%.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 14, 2011, 07:22:20 AM
It is possible and a matter of luck. Efficiency is calculated based on the number of shares divided by the number of getworks received.

For a single getwork, you may have zero, one or more submitted shares and it is a matter of luck. If you have 3 getworks requested and found 4 shares while processing them - then yes, efficiency would be 125%. In the ideal scenario, efficiency would get close to 100% after hashkill has been working long enough.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Clipse on June 14, 2011, 11:26:58 AM
Not sure why you have such poor eff cause Im on 100-104% the whole time , confused tho how I can get more than 100% eff.
gat3way, I've the same question, can you please explain how this can happen?

Also I make a followup to my test: while for a single device I get more shares using server side statistics in respect to hashkill, the result is better for hashkill if I use multiple cards.

I guess there are a lot of details to check... btw I still get low efficiency, around 86%.

Not sure why you are unhappy with 86% efficiency, if your pool dont have issue with efficiency then the ratio shouldnt matter that much to the end user.

What you should care about is amount of stales/invalid compared to your submitted shares.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on June 14, 2011, 11:56:51 AM
Thank you gat3way for the explainations, I still have a lot of "holes" in the comprehension of the whole thing but I'm beginning to understand.

Not sure why you are unhappy with 86% efficiency, if your pool dont have issue with efficiency then the ratio shouldnt matter that much to the end user.
What you should care about is amount of stales/invalid compared to your submitted shares.

Ok, these are my stats:
Quote
Speed: 1469 MHash/sec [proc: 5452] [subm: 4755] [stale: 64] [eff: 87%]
What I can't understand is why I've so many processed shares and not all of them is being submitted.

How comes a share is processed and not submitted?
In which scenarios this can happen?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 14, 2011, 12:28:18 PM
There seems to be a misunderstanding here. Shares are not "processed". getworks are. Each of the 'procd' getworks result in zero, one or more shares. Your stats indicate that:

* You've requested a new getwork 5452 times since the program was run.
* Working on those 5452 getworks, you found 4755 shares and submitted them
* You have 64 stale (or invalid) shares - you submitted them but the pool rejected them.

Now since hashkill requests getworks in advance, if you by chance have a share per each getwork (not zero and not more than one), then you would still not have processed=submitted. That's because a queue is being filled in "in advance".

Multiple "short" blocks in a row are likely to bring that "efficiency" down. That's because on a new block, all the getworks in a queue that are already counted as "processed" are discarded. Efficiency is calculated for the whole program run, not the current block.

Connection failures (e.g unable to connect to the pool to send a share) obviously drops efficiency as well.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on June 14, 2011, 02:07:10 PM
Fine, thanks for all the details.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: antz123 on June 14, 2011, 03:53:14 PM
Anyone know why putting hashkill to run from a batch file produces this error?

hashkill-gpu: error while loading shared libraries: libOpenCL.so: cannot open shared object file: No such file or directory

It works fine if I run it from the terminal window, but produces this error if I run my batch file independent of the terminal window.

Causing problems with automatic startup of the miner after logging in...


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 14, 2011, 06:35:38 PM
I just noticed today that Hashkill doesn't work nearly as well with Slush's pool as it does with Deepbit.

I'm getting 10-11% stale shares now with Slush.

Doesn't Hashkill work with Slush's long polling?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 14, 2011, 07:12:58 PM
Slush's pool does not support long polling.

Quote
Anyone know why putting hashkill to run from a batch file produces this error?

hashkill-gpu: error while loading shared libraries: libOpenCL.so: cannot open shared object file: No such file or directory

It works fine if I run it from the terminal window, but produces this error if I run my batch file independent of the terminal window.

Causing problems with automatic startup of the miner after logging in...

Put the export LD_LIBRARY_PATH=... line in your script.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 14, 2011, 07:27:38 PM
So if I use, say, Poclbm it won't tell me about the stale shares, even though I'm probably getting just as many?

Do you think Hashkill is more likely to get stales, the way it's designed?  It might need long polling more than this or that other miner.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 14, 2011, 07:42:14 PM
Doesn't poclbm display stales?

Some pools do report them (deepbit for sure). As for is hashkill more likely to get them...it depends on the pool and your "luck" mostly. Hashkill does flush the queues, but it does not immediately cancel the current getwork so if you have a share in the current NDRange, it would readily submit it and it would get display as stale. I could of course not submit that, but it does not matter...users would feel more happy about this of course, but they would not benefit from that in any way (other than feeling happier about less stales being indicated).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: antz123 on June 15, 2011, 08:47:51 AM
Quote
Anyone know why putting hashkill to run from a batch file produces this error?

hashkill-gpu: error while loading shared libraries: libOpenCL.so: cannot open shared object file: No such file or directory

It works fine if I run it from the terminal window, but produces this error if I run my batch file independent of the terminal window.

Causing problems with automatic startup of the miner after logging in...

Put the export LD_LIBRARY_PATH=... line in your script.

Thanks very much for that, got my problem fixed. A really awesome miner, I'm liking the interface with the user too.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on June 16, 2011, 12:05:38 PM
One thing i've noticed is that it generates less shares compared to the others but has a higher hash rate?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 16, 2011, 03:00:49 PM
Got some bad news...multi-pool support (failover/load-balance) will be delayed. I've had some problems making this work correctly (especially as far as LP stuff is concerned). Another thing is that I will be quite busy the following week or two and won't have time to work on it.

Regarding recent DDoS attack on slush/deepbit pools, this is not good. Nevertheless, there is a tip that may be helpful: it's simple. Just run 2 or more instances against different pools. Since hashkill utilizes all GPUs, GPU load will be balanced nicely. Once a pool is DDoS'd, connections to it would fail and then the other instances will utilize more GPU power. To understand it better, here is an example:

You have 2x5870 cards, running at 400MH/s each, 800MH/s overall. You run two instances - first one running against slush's pool, the second one - against deepbit. GPU load is balanced - you'd roughly spend 400MH/s mining for bitcoin.cz and 400MH/s mining for deepbit.net. Then imagine deepbit.net gets attacked and your connections to it fail. Instance #2 would wait until it can successfully reconnect. No GPU power would be wasted though - now the GPUs would be fully utilized by instance #1 running against bitcoin.cz getting 800MH/s. Once deepbit.net goes online again, you would get GPU utilization balanced all by itself.

This is very quick and dirty load-balancing scheme otherwise hard to do with multi-GPU configurations and one miner per GPU. I am using it and it works nicely.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sniper_sniperson on June 16, 2011, 03:50:04 PM
What type of pool's list do you implement for that? Some sort of [pool address] - [include in failover=1/0] - [workername] - [password]?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 16, 2011, 04:10:42 PM
It is going to be in the same format as the command line. In a text file, one per line.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: backburn on June 17, 2011, 09:57:17 PM
* Integrated support for getting stats from pools (currently only bitcoinpool.com, deepbit.net and mining.bitcoin.cz)

Keep up the good work, love your changes!

Mind adding support for BitClockers.com Bitcoin Mining Pool (http://BitClockers.com Bitcoin Mining Pool) stats?

JSON API:
Pool Stats: http://bitclockers.com/api/
User Stats: http://bitclockers.com/api/APIKEYHERE/

If you need any more information I'd love to help.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gfaust on June 18, 2011, 07:46:46 PM
I'm running dual 5830s on my test machine clocked at 875,900.  Also using the latest ubuntu 11.04 x64, sdk 2.4 and catalyst 11.6.

using Deepbit pool, hashkill is delivering about 433Mhash/sec but phoenix 1.5/phatk is delivering about 528Mhash/sec.  Should I be using an earlier driver?  I tried playing with -D, -G1, -G2, -G3, -G4.  Is there anything else I can try to duplicate the results other folks have had?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on June 20, 2011, 01:11:08 PM
After a random amount of time hashkill will crash with this:

Quote
Mining statistics...
Speed: 171 MHash/sec [proc: 8] [subm: 5] [stale: 1] [eff: 62%]     [error] (ocl_bitcoin.c:141) Cannot authenticate!

Using phoenix it's 100% stable. How can i debug?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 20, 2011, 09:35:07 PM
After a random amount of time hashkill will crash with this:

Quote
Mining statistics...
Speed: 171 MHash/sec [proc: 8] [subm: 5] [stale: 1] [eff: 62%]     [error] (ocl_bitcoin.c:141) Cannot authenticate!

Using phoenix it's 100% stable. How can i debug?

kripz you can reproduce it with the latest release? Also did you change your worker password in that timeframe?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on June 21, 2011, 02:51:32 AM
I'm using version 0.2.5, is that the latest? You have 0.2.4 in the OP.

Password has never changed.

Edit:

Ran for longer today

Quote
Speed: 173 MHash/sec [proc: 394] [subm: 294] [stale: 60] [eff: 74%]     [error] (ocl_bitcoin.c:141) Cannot authenticate!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: figvam on June 21, 2011, 04:23:28 PM
Pre-compiled 0.2.4 binaries do not run under Fedora 14:
./hashkill-gpu: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory

I compiled 0.2.4 with AMD APP 2.4, and substituted bitcoin.so from the binary distribution. It looks like hashkill itself is working, but the bitcoin plugin errors out (can't see GPU):

$ ./hashkill -p bitcoin xxxxxxxxxxxxx
[hashkill] Version 0.2.4
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Total physical memory : 3018 MB
[hashkill] Detected 2 CPUs.
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - ATI RV730
[hashkill] Using 4xxx codepath
[hashkill] Loading markov statfile (rockyou)
[hashkill] Threads queue size: 128 plaintexts/thread
[hashkill] Initialized thread mutexes
[hashkill] Initialized hash bitmaps
[hashkill] Spawned worker threads
[hashkill] Launching Markov attack
[hashkill] Markov max len: 10 threshold:1000
[hashkill] Progress indicator will be available once Markov calculations are done...
[hashkill] SSE2 accelerated routines available
[hashkill] Attack has non-linear complexity
[error] (bitcoin.c:86) This plugin is GPU only!


environment:
$ env|grep AMD
LD_LIBRARY_PATH=/opt/AMD-APP-SDK-v2.4-lnx32/lib/x86/
ATISTREAMSDKROOT=/opt/AMD-APP-SDK-v2.4-lnx32/
OPENCL_VENDOR_PATH=/opt/AMD-APP-SDK-v2.4-lnx32/etc/OpenCL/vendors/



Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 21, 2011, 04:59:51 PM
Prior to ./configure, export ATISTREAMSDKROOT to point to your APP SDK directory and ADLROOT to point to your ADL sources and it should be OK. The ADLROOT part is not mandatory but you would lose the thermal monitoring support.

P.S libcrypto.so.0.9.8 comes with openssl.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: figvam on June 21, 2011, 05:57:46 PM
Prior to ./configure, export ATISTREAMSDKROOT to point to your APP SDK directory
That's what I did, see my environment. hashkill has no trouble loading APP SDK. Maybe it's something to do with APP SDK being statically compiled into bitcoin.so?

Quote
and ADLROOT to point to your ADL sources and it should be OK. The ADLROOT part is not mandatory but you would lose the thermal monitoring support.
My card is a mobile Radeon 4650, it doesn't have a thermal monitoring, so I assume ADL isn't needed at all.

Quote
P.S libcrypto.so.0.9.8 comes with openssl.
Fedora has much newer openssl:
$ rpm -q openssl
openssl-1.0.0d-1.fc14.i686
$ rpm -ql openssl |fgrep libcrypto
/lib/.libcrypto.so.1.0.0d.hmac
/lib/.libcrypto.so.10.hmac
/lib/libcrypto.so.1.0.0d
/lib/libcrypto.so.10


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 21, 2011, 07:32:17 PM
Nope, it is impossible to link statically against the SDK as it provides .so only.  This is rather strange - and my guess is that sources on sf.net are out of sync with my copy.

OK - we can do the following: I will upload the openssl library from my system - you may download it and copy to /usr/lib, the try again the precompiled version:

http://www.gat3way.eu/poc/libcrypto.so.0.9.8


Title: Re: hashkill - testing bitcoin miner plugin
Post by: spiccioli on June 21, 2011, 09:03:01 PM
gat3way,

I've made several more tests with hashkill the other night, on my system (running linuxcoin 0.2a from USB stick) I underclock memory (dual sapphire 5850 at 885/295 core/mem at 1.08V) to save energy, with these settings latest hashkill-gpu gives 555-560 MHash/s

Same pc, same settings, two instances of phoenix give around 350-352 MHash/s _each_.

If I increase memory speed hashkill increases output, but around 620MHash/s (885/470-500) system locks up solid, so maybe my cards can't overclock core and memory at the same time (they're stock cards, no changes to bios).

Do you know what makes hashkill slower on such a system? Is there something (apart from rising memory clock) which you can change in hashkill to be able to run it on GPUs with underclocked memory ?

I like the idea of a single miner handling all GPUs and I'm tired of phoenix hangings, but losing 150MHash/s is a little too much :)

TIA

spiccioli.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 21, 2011, 09:21:29 PM
I have no idea, but yes - hashkill tends to generate underperforming code on some hardware/SDK combinations. My best advice would be to use SDK2.4. Any older one increase the chance of fucking it up and it would like not work at all with SDK 2.1.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gary13579 on June 21, 2011, 11:28:21 PM
Hey guys, I've figured out an edge case bug on some networks which can cause a very large amount of stale shares, up to 30%. The problem is that hashkill uses curl to open a connection to the longpolling server, and it idles on that connection until a new block is available. This is fine and dandy, but a lot of networks and firewalls will kill a connection if it has been idle for a certain amount of time. This was set to 10 minutes on my network. This meant that every time a block went for longer than 10 minutes, longpolling would break and you'd submit a bunch of stale shares not knowing they are stale.

A fix for this should be coming in hashkill as it's a very simple thing to fix, ~5 lines of code. Until then you can run the following command to fix it (note that it must be ran as root):

[root@snuggles]# echo "300" > /proc/sys/net/ipv4/tcp_keepalive_time

This sets the keepalive time to be 5 minutes, which means every 5 minutes, your Linux box will send an empty packet to the server which keeps the connection alive. Adjust this value based on your network/firewall configuration.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on June 22, 2011, 03:42:37 AM
could be related to my bug where it randomly says cannot authenticate, ill try it when i get home.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: figvam on June 22, 2011, 04:17:50 AM
Nope, it is impossible to link statically against the SDK as it provides .so only.  This is rather strange - and my guess is that sources on sf.net are out of sync with my copy.
I took both the sources and the binary from your site, not from sf.net. But yes, looks like the binary plugin is having trouble communicating with the program compiled from sources.


Quote
OK - we can do the following: I will upload the openssl library from my system - you may download it and copy to /usr/lib, the try again the precompiled version:

http://www.gat3way.eu/poc/libcrypto.so.0.9.8
I'll need libssl.so.0.9.8, too. Thanks.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gary13579 on June 22, 2011, 04:37:13 AM
could be related to my bug where it randomly says cannot authenticate, ill try it when i get home.

It shouldn't help, but I suggest trying it anyway.

Edit: actually, I'm positive that it won't help. What pool are you using? I'd try btcguild.

Nope, it is impossible to link statically against the SDK as it provides .so only.  This is rather strange - and my guess is that sources on sf.net are out of sync with my copy.
I took both the sources and the binary from your site, not from sf.net. But yes, looks like the binary plugin is having trouble communicating with the program compiled from sources.


Quote
OK - we can do the following: I will upload the openssl library from my system - you may download it and copy to /usr/lib, the try again the precompiled version:

http://www.gat3way.eu/poc/libcrypto.so.0.9.8
I'll need libssl.so.0.9.8, too. Thanks.

You don't need 0.9.8, I'm running it just fine with 1.0.0 on Arch Linux.


[gary@snuggles lib]$ ls -lah /usr/lib/ | grep libcrypto
-rw-r--r--   1 root root 3.5M Feb  8 12:58 libcrypto.a
lrwxrwxrwx   1 root root   18 Feb  8 12:58 libcrypto.so -> libcrypto.so.1.0.0
-r-xr-xr-x   1 root root 2.0M Feb  8 12:58 libcrypto.so.1.0.0


I suggest manually symlinking libcrypto.so and libssl.so to the latest versions (which would be libcrypto.so.1.0.0d and libssl.so..1.0.0d on Fedora, apparently).

sudo ln -s /lib/libcrypto.so /lib/libcrypto.so.1.0.0d
sudo ln -s /lib/libssl.so /lib/libssl.so.1.0.0d

if that doesn't work, rm them and try symlinking against .so.10. Or switch to a distro that doesn't suck ;)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on June 22, 2011, 05:49:33 AM
Didnt work as you said, is hashkill open source?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: spiccioli on June 22, 2011, 08:00:27 AM
I have no idea, but yes - hashkill tends to generate underperforming code on some hardware/SDK combinations. My best advice would be to use SDK2.4. Any older one increase the chance of fucking it up and it would like not work at all with SDK 2.1.

gat3way,

linuxcoin has SDK2.4 only, so it has to be something else, sadly.

best regards.

spiccioli.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: figvam on June 22, 2011, 08:08:19 AM
I got the binary build running by symlinking the libs. However it's much slower than any of the poclbm-based miners: 24-25Mh/sec vs 29Mh for poclbm. Perhaps non-surprising on the 4xxx hardware.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 22, 2011, 10:15:08 AM
Yeah, the 4xxx codepath is not optimized very well.

P.S tried the -D switch?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: figvam on June 23, 2011, 04:22:12 AM
No, I haven't - the desktop responsiveness was horrible even without it.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: sniper_sniperson on June 24, 2011, 01:03:01 PM
Under a custom build Slax from slax.org (x64 Slackware 2.6.27.27 is the kernel) I've got this error:

Quote
bash: /usr/bin/hashkill-cpu: cannot execute binary file

What exactly I need to run it under this lovely OS (yeah, it's better than Ubuntu, I swear)  ::)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 24, 2011, 02:37:05 PM
hashkill-cpu does not support bitcoin mining (yet). Use hashkill-gpu.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: burp on June 24, 2011, 03:16:02 PM
With fglrx 11.4 I got about 534MH/s with my two cards, with 11.6 I now get 350MH. Is this a hashkill or fglrx issue?

EDIT: Interesting, when I lower the memory clock from 900 to 340 I get my old 534MH/s back. But before it worked with 900MHz.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 24, 2011, 03:38:52 PM
Rather strange, thanks for reporting this. What GPUs are those?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: burp on June 24, 2011, 03:48:44 PM
5830 GPUs.

I upgraded to 11.6 because it allows overclocking over the limits. I'm running them now at 975/380 MHz for 297MH/s each. Lowering mem-clock decreases hashing speed while increasing it further locks the cards up.

EDIT: Here some more interesting results:

With hashkill the highest hashrate I can achieve is with 950/380; this gives me about 290MH/s for each card. Going just slightly above that clockrate gives me many invalid results. Going lower with the memory clock immediately results in a slower hashrate.

With poclbm miner (phatk kernel) I get the best results with 975/300 @ 298MH/s for each card. Going higher with the memory clock changes nothing. (Just one miner per card, more give just negligable benefit)

It would be interesting to understand the reason for these results, as it must depend on how the opencl-kernel crunshes the hashes.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: teukon on June 25, 2011, 07:59:01 AM
Hi,

I'm trying to mine solo using hashkill and am confused by the program output.  After 30 mins on the bitcoin testnet I have.

Speed: 695 MHash/sec [proc: 477] [subm: 2] [stale: 272] [eff: 0%]

Can anyone explain the seemingly large number of stale shares?

This is for 2 5850s both clocked at 890/900 at temperatures of 87C and 81C respectively.  The reported MHash/sec is holding steady.

Checking with bitcoind and the testnet block explorer I can confirm that the two 'subm' shares are the 2 generated blocks.  The difficulty on the testnet is currently 45.50177646 and has been for the entire 30 mins and the bitcoin generation calculator gives an average of 6.4 blocks for every 30 mins.  Perhaps I've just been a little unlucky and I'll continue to run this for another 30 mins.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on June 25, 2011, 08:04:24 AM
I think it's because with solo it's either wrong or right (and you get the 50btc).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: teukon on June 25, 2011, 08:31:49 AM
I think it's because with solo it's either wrong or right (and you get the 50btc).

That explains the small number of 'subm'.  I guess I'm just trying to understand what 'proc' and 'stale' are all about.  Perhaps hashkill is sending difficulty 1 shares to bitcoind which rejects most of them or something.  By the way, when I mine with a pool I get practically no stale shares.

After another 30 mins I have:

Speed: 695 MHash/sec [proc: 1022] [subm: 8] [stale: 581] [eff: 0%]

So it seems like I was just a little unlucky in the first 30 mins.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 25, 2011, 04:16:28 PM
In that case, it's not "stale" but actually invalid. hashkill checks just if H == 0, not G against target. I guess the difficulty setting of the testnet is set low, that's why you were able to get "subm" anyway.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 27, 2011, 05:39:19 PM
A new version available with some improvements.

* Optimization on Ma function of sha256 (+2-3% on 5xxx hardware up to +4-5% on 69xx hardware) - thanks to bitless
* Use SO_KEEPALIVE for long polling connection to avoid stales on some networks with shorter TCP timeouts - thanks to Gary13579
* Fixed minor cosmetic bugs.
* Better handling of "lost connection" cases - eliminated some races there.

For downloads please refer the first post on the thread.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 28, 2011, 07:44:51 PM
There appeared to be problems on 69xx cards with the last version. Those are now fixed. Also added another optimization to the kernel, adding up to about 1% performance on my 6870. Please redownload.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Keninishna on June 29, 2011, 03:26:19 PM
Holy moly this app is quality. It is fast! I'm getting about a constant 710 mh/s with my two 6950s. Easy to install and easy to use and stops the card if it overheats too. The only issue ive seen so far is that after a new block is found occasionally the second card does not run untill the next block? I would say this is better than any miner in windows.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: AngelusWebDesign on June 29, 2011, 04:31:36 PM
After running it for 5 minutes, one of my 3 cards "dropped out" so my hashrate went from 960 down to 560.

The other card didn't seen to come back, either.

Any idea why?

The cards aren't overheating or anything; they run fine with poclbm (and connected to the same pool, too)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 29, 2011, 05:31:18 PM
I have no idea about the dropping cards (cannot reproduce it) :( Will work on this.

BTW I fixed the BFI_INT replacement code which allows me to optimize the 69xx code a LOT! For all 69xx users, please redownload. It should be much better now :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Tartarus on June 29, 2011, 05:47:26 PM
I have no idea about the dropping cards (cannot reproduce it) :( Will work on this.

BTW I fixed the BFI_INT replacement code which allows me to optimize the 69xx code a LOT! For all 69xx users, please redownload. It should be much better now :)

FYI, I had to install libjson0 and libcurl3-nss this time (using LinuxCoin v0.2a) which I hadn't before.  On my 6950 (GPU @ 840, Mem @ 720) I get 342MHash/s which is just a hair below what I get on non-efficient phoenix+phatk.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 29, 2011, 06:02:55 PM
Ops...this was not supposed to be like that. For some reason I have mistaken the cross-compile flags. OK, fixing that and rebuilding a static-linked one...

OK reuploaded it. Also added a small edit to the vliw4 code in the kernel. Could you retry please (and sorry for that)?

P.S do not use -G3 or -G4 anymore, it makes no sense anymore. Still -D would give you some more MH/s.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Tartarus on June 29, 2011, 07:10:37 PM
Ops...this was not supposed to be like that. For some reason I have mistaken the cross-compile flags. OK, fixing that and rebuilding a static-linked one...

OK reuploaded it. Also added a small edit to the vliw4 code in the kernel. Could you retry please (and sorry for that)?

P.S do not use -G3 or -G4 anymore, it makes no sense anymore. Still -D would give you some more MH/s.

Still need libjson0 installed and same speeds as before (should have said 64bit before, sorry).  One thing I was wondering is what size is the worksize here?  I think 'auto' ends up being 64 on my card+2.4 SDK but manually setting to 128 in the other miners gives a noticeable speedup.

EDIT: Bah, user error.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 29, 2011, 07:28:07 PM
No, there is no way to set it, it's hardcoded in the kernel so that the compiler makes better assumptions with register allocation. For most cases, 64 should be best though given the kernel parameters.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Tartarus on June 29, 2011, 07:52:45 PM
No, there is no way to set it, it's hardcoded in the kernel so that the compiler makes better assumptions with register allocation. For most cases, 64 should be best though given the kernel parameters.

reqd_work_group_size is the variable, yes?  If so, OK, I'm not seeing any change here bumping that up here, so thanks for explaining why you do what you do :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 29, 2011, 08:28:10 PM
Basically it is also limited in the host code to 64. Anyway I can build you a 128 version, all you need to do is change that in the kernel of course.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Keninishna on June 30, 2011, 03:43:31 AM
I have no idea about the dropping cards (cannot reproduce it) :( Will work on this.

BTW I fixed the BFI_INT replacement code which allows me to optimize the 69xx code a LOT! For all 69xx users, please redownload. It should be much better now :)

woot! will try tomorrow. I'm sure there is a way to poll the video cards to see if they are working after a new block, which would fix the dropping card issue. I can post a screenshoot tomorrow as well. If there is any debug info I can give you let me know.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Keninishna on June 30, 2011, 11:52:59 AM
Here is my output:
http://farm6.static.flickr.com/5152/5887034795_f8726202c3_b_d.jpg

Adding the -D option gave me about 5 mh/s extra  8)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on June 30, 2011, 09:22:31 PM
Yeah and I can clearly see that "GPU drop" effect :)

Gotta be some synchronization bug, I will have a look at that...


Title: Re: hashkill - testing bitcoin miner plugin
Post by: SkipDaShu on July 01, 2011, 02:22:59 AM
Curious... haven't seen a compare between HashKill and the Diablo miner here.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 02, 2011, 09:23:56 PM
OK think I found what causes that GPU drop. Also pool failover coming soon. I also found a small bug that potentially caused more stales under certain circumstances. Will release soon.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on July 02, 2011, 11:37:44 PM
Is your hasher optimised for the 5000 series? I seem to get get less hash rate (50+) and also less shares per hour.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 03, 2011, 10:19:35 AM
Quote
Is your hasher optimised for the 5000 series? I seem to get get less hash rate (50+) and also less shares per hour.

As compared to what?



Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 03, 2011, 10:25:00 AM
OK, new release is here. What's new:

* GPU drop problem should be fixed
* Added pools stats for btcguild.com. Use -a <apikey>
* Fixed a race condition situation which would submit more stale shares under certain circumstances
* Added pool failover support. It is enabled by using the -f <inputfile> option. You create a text file in the following format:

user:password:host:port
user1:password1:host1:port1
...

then you run hashkill like this:

hashkill -p bitcoin -f filename

The end-result would be that once there are connection failures to a pool, we switch to the next one in the list. No time wasted on reconnection attempts.


Download:

64bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz

32-bit:
http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on July 03, 2011, 10:33:09 AM
Quote
Is your hasher optimised for the 5000 series? I seem to get get less hash rate (50+) and also less shares per hour.

As compared to what?



poclbm/phatk based hashers, specifically phoenix and diablo.

EDIT: Actually may of been GPU speed drop issues... ill keep an eye on the new version.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 03, 2011, 10:34:09 AM
What's your hardware, SDK version and catalyst version?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on July 03, 2011, 10:42:09 AM
5770, sdk 2.4, cat 11.5. debian 32bit.

another machine same software but 5850.

See post #348, ill post back when i get an hours run out of it.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 03, 2011, 10:44:31 AM
Hm interested in results with the latest version.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on July 03, 2011, 11:03:39 AM
Still having issues with flexible mining proxy. This is the only client that crashes.

Quote
Mining statistics...
Speed: 164 MHash/sec [proc: 18] [subm: 16] [stale: 0] [eff: 88%]
Long polling: got new block!
Speed: 159 MHash/sec [proc: 54] [subm: 39] [stale: 3] [eff: 72%]     [error] (ocl_bitcoin.c:141) Cannot authenticate!

Speeds dropping slightly, though this was only 30 minutes testing. I get 180mh/s constant with phoenix and diablo.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 03, 2011, 11:18:14 AM
You don't need to use the mining proxy now. The failover functionality is built-in already.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on July 03, 2011, 11:52:08 AM
I'm not using the proxy for that.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: antares on July 03, 2011, 04:28:20 PM
Hi Get3way,

I downloaded your tool yesterday, it really increases my hashing rate about > 20% (from 193MH/s on an 960/1200 OC HD 6770 to 212MH/s).
However, it also increased stale share rate from 1% to about 6.5%. I'm currently mining @bitcoins.lc

Also I'd like to ask whether hashkill utilizes CUDA as available. Running an openCL kernel on an nvidia card would seem somewhat unlogical to me.

If you need more data for debugging, feel free to pm me, otherwise, great work, keep up with it, and I'm really eager to see the sources being released soon too!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: figvam on July 03, 2011, 07:11:03 PM
Can't download the binaries - looks like your HTTP port is firewalled:

$ wget http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz
--2011-07-03 14:09:41--  http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz
Resolving www.gat3way.eu... 78.90.217.9
Connecting to www.gat3way.eu|78.90.217.9|:80... failed: No route to host.

$ ping www.gat3way.eu
PING www.gat3way.eu (78.90.217.9) 56(84) bytes of data.
64 bytes from 78.90.217.9: icmp_seq=1 ttl=47 time=155 ms
64 bytes from 78.90.217.9: icmp_seq=2 ttl=47 time=155 ms
64 bytes from 78.90.217.9: icmp_seq=3 ttl=47 time=155 ms
64 bytes from 78.90.217.9: icmp_seq=4 ttl=47 time=155 ms

--- www.gat3way.eu ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 155.017/155.276/155.580/0.243 ms


Title: Re: hashkill - testing bitcoin miner plugin
Post by: SkipDaShu on July 03, 2011, 10:09:37 PM
Can't download the binaries -

Ditto


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Keninishna on July 04, 2011, 04:27:10 AM
I was able to download and update and works great! except on one of my rigs one of the 6950s overheated past 109c!! fan was at 100% too. Usually it would turn the adapter off but for some reason it didn't. I'm going to RMA the card as it wasn't even overclocked anyways.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 04, 2011, 06:09:36 AM
Server had problems...it should be available now.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: antares on July 04, 2011, 06:49:59 AM
hey gat3way,

I found that your nice tool stalls when it looses connectivity.
It would be nice if it could auto-resume connection to the pool if interrupted, as at least here in germany all internet connections are interrupted at least every 24 hrs - gateway vendors have countered this disconnect to fall into the night time, so the rigs are usually offline for some time every day which is uncool. It'd also be nice to have a socket spawn from hashkill that allows reading of basic program statistics, so we can develop our tools around yours. It'd also be awesome if hashkill had a switch to show all avail plugins - eg I've been searching for some tool that can use a GPU to get around salted MD5 ($1$, ya know:-D). Still the question remains whether hashkill has native CUDA support.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 04, 2011, 06:59:41 AM
Quote
I found that your nice tool stalls when it looses connectivity.

If you don't define a pool list text file (and use -f file) on connection loss, it sleeps for 20-30 seconds then retries. If you have defined a pool list file, it just tries the next one without sleeping.


Quote
It'd also be nice to have a socket spawn from hashkill that allows reading of basic program statistics, so we can develop our tools around yours.

This is not supported, however the bitcoin plugin exports statistics in a text file in json format (in ~/.hashkill/bitcoin.json).


Quote
It'd also be awesome if hashkill had a switch to show all avail plugins

Use hashkill-gpu -p

Quote
I've been searching for some tool that can use a GPU to get around salted MD5 ($1$, ya know:-D).

MD5(Unix) is not supported at present on GPUs. It is on CPUs though. The only tool I know of that supports it on GPUs is oclhashcat+

Quote
Still the question remains whether hashkill has native CUDA support.

No CUDA support, just OpenCL. Yes, CUDA tends to be faster, but I don't really care about 5-10% performance gains on NVidia platforms that require the whole codebase to be rewritten. If it was AMD, I would do that, but NVidia hardware just sucks in terms of integer ops. It's a waste of money and electricity for hash cracking, even when huge hashlists are to be cracked.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: M4v3R on July 04, 2011, 07:39:58 AM
Hi,

I've tried hashkill for the first time today, but unfortunately it doesn't quite work well for me (it works at 1/3 GPU capacity only):

http://bit.ly/isPi5B

Quote from: uname
Linux tifa 2.6.35-30-server #54-Ubuntu SMP Tue Jun 7 20:13:05 UTC 2011 x86_64 GNU/Linux

Quote from: command
LD_LIBRARY_PATH=/opt/ati-stream-sdk-v2.2-lnx64/lib/x86_64/ hashkill-gpu -p bitcoin -f pools -D -G4

SDK version: 2.2
Catalyst version: 10.2

Any ideas why?

Edit: I use SDK 2.1 in my miners because 2.2 and newer for some reason don't work for me. And 2.1 doesn't work with hashkill, I get the clBuildProgram error.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: figvam on July 04, 2011, 07:42:54 AM
Something's wrong with Fedora 14, 2.1 SDK and 4650. It used to work in some previous version.
Quote
[hashkill] Version 0.2.5
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - ATI RV730
[hashkill] Using 4xxx codepath
[hashkill] GPU0: ATI Mobility Radeon HD 4650 [busy:0%] [temp:4114C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at mineco.in:3000
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)[error] (ocl_bitcoin.c:1209) clBuildProgram error (-11)
[hashkill] Attack took 0 seconds.
[hashkill] Bye bye :)


Title: Re: hashkill - testing bitcoin miner plugin
Post by: figvam on July 04, 2011, 07:45:37 AM
Running under strace:

open("/tmp/OCL1Dtk0m.log", O_RDONLY|O_LARGEFILE) = 3
_llseek(3, 0, [19367], SEEK_END)        = 0
_llseek(3, 0, [19367], SEEK_CUR)        = 0
_llseek(3, 0, [0 ], SEEK_SET)            = 0
read(3, "/tmp/OCL1Dtk0m.cl(107): error: b"..., 19367) = 19367


Looks like the OpenCL compilation log contained more descriptive error. Maybe output that error when compilation fails?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 04, 2011, 09:18:34 AM
Any SDKs below 2.3 are not supported, sorry. They do not support OpenCL 1.1 features correctly and have significant problems with using multiple devices in a single process.

P.S if you chose to use 2.2 anyway, do not use -G4, but -G1. It should provide you better utilization.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: antares on July 04, 2011, 09:50:55 AM
@gat3way
ok, so I see that hashkill is supposed to resume hashing. however I had 3 occurrances of a stalled hashkill today, each correspond with connectivity issues(I monitor load on my GPU and I just added monitoring my IP addresses)

It'd be also nice if you could add a wallet ID to your signature so we can donate to you to keep you doing your amazing work.
Last thing for now - I'd like to set up a mirror for hashkill, so people wont get stalled in case your site gets anavailable again - If that's ok with you


Title: Re: hashkill - testing bitcoin miner plugin
Post by: antares on July 04, 2011, 11:54:11 AM
Quote
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at bitcoins.lc:8080
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 349084
[hashkill] Doing BFI_INT magic...

Mining statistics...
Speed: 212 MHash/sec [proc: 16] [subm: 9] [stale: 0] [eff: 56%]
[error] (ocl_bitcoin.c:926) Statistics about that pool (bitcoins.lc) not supported.
GPU0: AMD Radeon HD 6700 Series  [busy:99%] [temp:74C]

Speed: 211 MHash/sec [proc: 298] [subm: 275] [stale: 29] [eff: 92%]     [error] (ocl_bitcoin.c:245) Long polling failure, will retry in 20s!
Speed: 212 MHash/sec [proc: 302] [subm: 275] [stale: 29] [eff: 91%]
Long polling: got new block!
Speed: 211 MHash/sec [proc: 334] [subm: 304] [stale: 30] [eff: 91%]
Long polling: got new block!
Speed: 0 MHash/sec [proc: 506] [subm: 460] [stale: 37] [eff: 90%]

this is what happens when hashkill gets killed.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: figvam on July 04, 2011, 12:29:20 PM
Still slower than poclbm/phatk on HD 4650 and SDK 2.4:
hashkill 24Mhashes/sec
poclbm/phatk: 27-29Mhashes/sec

Interestingly minerd (http://forum.bitcoin.org/index.php?topic=21275.0) suffers from the same problem, with exactly the same hash rate numbers.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: datguywhowanders on July 04, 2011, 08:09:29 PM
Has anyone tried this with either a 6950 or 6970, and if so, are they getting any gains over using poclbm or phoenix?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Tartarus on July 05, 2011, 03:28:41 AM
Has anyone tried this with either a 6950 or 6970, and if so, are they getting any gains over using poclbm or phoenix?

On my 6950 I see the same rates as phoenix/poclbm+phatk, +/-1MHash.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on July 05, 2011, 12:05:04 PM
I tried latest release and the MH/sec seems faster, the problem is that I get 0% efficiency, with no good submitted shares.
I'm using SDK 2.4 and stock ati drivers from ubuntu 11.04, any hints?

Also, I would like to ask gat3way to please change the name of the file for every release because using the same name for different content causes a lot of problems for who uses proxy and makes difficult to trace the problem or benefits of every release.

Thanks!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on July 05, 2011, 09:05:03 PM
I forgot to tell that I'm using bitcoin.ls, and it's possible that the problem only exhibits with that pool?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 07, 2011, 06:15:30 AM
Don't know, need to investigate.

Unfortunately my priorities are now shifted towards implementing some DES-based password hashing algorithms on GPUs, so I won't be able to work on the bitcoin plugin in the near future.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: kripz on July 07, 2011, 07:53:03 AM
open source it?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 07, 2011, 08:58:44 AM
http://hashkill.sourceforge.net/


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Dusty on July 07, 2011, 03:26:23 PM
http://hashkill.sourceforge.net/
Great move, thanks!

Out of curiosity: is it possible to use hashkill to crack WEP passwords...?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 07, 2011, 04:55:41 PM
No.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: iamzill on July 07, 2011, 07:00:45 PM
Nice tool, but it cannot find one of my cards. I have two 5830s installed, both are being detected by Linux and ATI drivers:

Code:
04:00.0 VGA compatible controller: ATI Technologies Inc Radeon HD 5800 Series (Cypress LE) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Device 036a
Flags: bus master, fast devsel, latency 0, IRQ 32
Memory at b0000000 (64-bit, prefetchable) [size=256M]
Memory at fe6c0000 (64-bit, non-prefetchable) [size=128K]
I/O ports at b000 [size=256]
Expansion ROM at fe6a0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: fglrx_pci
Kernel modules: fglrx, radeon

07:00.0 VGA compatible controller: ATI Technologies Inc Radeon HD 5800 Series (Cypress LE) (prog-if 00 [VGA controller])
Subsystem: PC Partner Limited Device 174b
Flags: bus master, fast devsel, latency 0, IRQ 76
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at fe9c0000 (64-bit, non-prefetchable) [size=128K]
I/O ports at e000 [size=256]
Expansion ROM at fe9a0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: fglrx_pci
Kernel modules: fglrx, radeon


Currently hashkill only detects the second card.

I'm assuming you have the device ID hardcoded somewhere?


Edit: Sorry, my bad. One of the card is detected by Linux but not by the ATI drivers. This is definitely not hashkill's fault. My apologies. Thanks for the great tool again.





Title: Re: hashkill - testing bitcoin miner plugin
Post by: SkipDaShu on July 07, 2011, 07:41:26 PM
Nice tool, but it cannot find one of my cards. I have two 5830s installed, both are being detected by Linux and ATI drivers:

I have one mobo that does this with it's 2 x 5830's.  One boot only card 2 and only video on card 2 (even boot up bios screen).  One or two reboots and video moves to card 1 where it should be and Diablo can then use both cards.  Seems that something gets messed up on a soft reset.  Power off for 3 mins and it always comes up right.

I have another very similar machine, same OS, same drivers, same config files, both i7-87x 1156 sockets, different mobos and it never does this.  The one that gives me the problem is a MSI H55-GD65 (H55) the one that doesn't is a BioStar T5 XE (P55) mobo.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: figvam on July 07, 2011, 07:41:40 PM
http://hashkill.sourceforge.net/
My understanding is that the bitcoin plugin isn't included in the source code drop. Am I wrong?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 07, 2011, 10:31:57 PM
It is in the SVN. BTW there are upcoming changes and hashkill would likely become dual-licensed. The "commercial" version is not targeting bitcoin, so I would continue to develop the plugin when I have more spare time for that. It's just that my focus (understandably) is being shifted to passcracking part, new algorithms and eventually distributing attacks. GPL'd version will follow those enhancements eventually. The problem is that I guess I won't have enough time for that bitcoin stuff. Anyone is free to fork it and do what he wants as long as GPL terms are followed. Sorry but password cracking is more interesting to me (and after all hashkill was designed to do that, the bitcoin plugin was kind of distraction and PoC work - just wanted to have a miner that suits my needs and reused code from the cracker).


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Tartarus on July 08, 2011, 02:18:57 AM
It is in the SVN. BTW there are upcoming changes and hashkill would likely become dual-licensed. The "commercial" version is not targeting bitcoin, so I would continue to develop the plugin when I have more spare time for that. It's just that my focus (understandably) is being shifted to passcracking part, new algorithms and eventually distributing attacks. GPL'd version will follow those enhancements eventually. The problem is that I guess I won't have enough time for that bitcoin stuff. Anyone is free to fork it and do what he wants as long as GPL terms are followed. Sorry but password cracking is more interesting to me (and after all hashkill was designed to do that, the bitcoin plugin was kind of distraction and PoC work - just wanted to have a miner that suits my needs and reused code from the cracker).

Thanks for all your hard work!


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Gary13579 on July 08, 2011, 08:16:59 PM
Hi again gat3way --

awesome job with the load balancing! the work is much appreciated. think I found a bug with it though... when using deepbit with -f, it segfaults... everytime. I think this is because of the @ symbol in the file?

The following will work:
hashkill-gpu -p bitcoin username@email.com_0:password:deepbit.net:8332

so does this:
hashkill-gpu -p bitcoin -f pools

cat pools:
username_minername:password:uscentral.btcguild.com:8332

But when you try using the deepbit URL in "pools", it segfaults.

Quote
[hashkill] Version 0.2.5
[hashkill] Plugin 'bitcoin' loaded successfully
[hashkill] (pools): 1 hashes loaded successfully, 0 errors
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Barts
[hashkill] Found GPU device: Advanced Micro Devices, Inc. - Barts
[hashkill] GPU0: AMD Radeon HD 6800 Series [busy:0%] [temp:50C]
[hashkill] GPU1: AMD Radeon HD 6800 Series [busy:0%] [temp:45C]
[hashkill] Temperature threshold set to 90 degrees C
[hashkill] This plugin supports GPU acceleration.
[hashkill] Initialized hash indexes
[hashkill] Initialized thread mutexes
[hashkill] Spawned worker threads
[hashkill] Successfully connected and authorized at deepbit.net:8332
[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)
[hashkill] Binary size: 349080
[hashkill] Doing BFI_INT magic...

Mining statistics...
./hashkill.sh: line 7: 23591 Segmentation fault      hashkill-gpu -p bitcoin -f pools


Title: Re: hashkill - testing bitcoin miner plugin
Post by: trumpetx on July 18, 2011, 04:44:02 AM
Here's the error I get:


[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)[error] (ocl_bitcoin.c:1158) clBuildProgram error (-11)


Any ideas?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 18, 2011, 07:46:27 AM
Use SDK 2.4.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: simplecoin on July 18, 2011, 09:38:59 PM
hey gat3way, do you have a sleep parameter (to keep sensitive cards from overheating)?

Thanks.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: SkipDaShu on July 19, 2011, 05:55:00 AM
How 'bout just downclocking it via aticonfig --odsc=gpu,mem
or for a wider range (often) use AMDOverdriveCtl.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 19, 2011, 07:44:17 AM
Yes, there is a temperature threshold (default being 90 but it's configurable via command-line). When it's reached, the GPU sleeps for a minute. Downclocking it is risky.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dikidera on July 19, 2011, 09:10:31 AM
Yes, there is a temperature threshold (default being 90 but it's configurable via command-line). When it's reached, the GPU sleeps for a minute. Downclocking it is risky.
Are you using the AMD ADL library to get the temps?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 19, 2011, 11:14:18 AM
Yes.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: owowo on July 20, 2011, 09:53:08 PM
great miner!!! HUUUGHE thank you!

on my four 6850 with 6870 bios clocked to 940core 300mem

I got about 927Mh/s on phoenix VECTORS BFI_INT AGGRESSION=12 FASTLOOP=false  WORKSIZE=256  ASKRATE=12

with hashkill I have 1012Mh/s peak and a constant of 1000Mh/s   :o

just one thing. Can you specify the options and what they do?
with -G4 i get "Failure connecting and authenticating to server pool ......"   ?!?
with -D it's faster than without -D, i don't use desktop, hence i cannot say anything about desktoplag.

i know -p is for "plugin" -> bitcoin
and -a for API

Another thing.
If i could get the statistics of hashkill send to my RPC-server and displayed in munin I would be "crying of joy" ;)
Is there a way to do this?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on July 21, 2011, 07:26:45 AM
Alright,

1) Since I moved from global queueing mechanism to queue/thread, using -G4 (especially with multi-gpu systems) is rather troublesome. It will not bring you benefits in terms of performance as compared to -G2. It would likely allow you to hit the anti-DDoS protection on pools though. Even if it doesn't, this would likely guarantee you higher stale percentage.

2) Yes, -D is the right thing to do. It provides higher speeds but has theoretically lower efficiency (should be about 0.2% less efficient and speeds should be ~1-2% faster though which makes it "profitable").

Desktop lag using -D can be relatively insignificant with fastest GPUs and really brutal with slow ones.

As for options/naming (those that concern bitcoin plugin in particular):

-D (comes from "double mode" which is more correct with hash cracking, not bitcoin, but I reused the switch anyway): this increases the global work size thus reducing host-device transfers per getwork. The side-effect being that GPU is overhauled with calculations.

-p is the plugin thing, correct

-G option specifies threads/device ratio. Either provide -G2 (for NVidia with newer drivers) or leave it. In most occasions, default setting is best.

-a specifies API key to use for statistics (available with some pools only when you press ENTER while mining)

-f <filename> specifies a file containing a list of pools for the failover mechanism. People reported it to crash with deepbit.net though for a reason I have not investigated.

-T specifies temperature threshold (in Celsius). When some of your GPUs reach it, it would be disabled for a minute or more to avoid overheating and avoid the aggressive driver thermal throttling. Default is 90C.


hashkill cannot send statistics to sockets, but provides a mechanism to get them from external script. Statistics (speed, processed, submitted, stale and eff) are stored in json format once in 3 seconds in ~/.hashkill/bitcoin.json.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: owowo on July 21, 2011, 08:51:04 PM
thanks for the answer. gonna use that json  :D


Title: Re: hashkill - testing bitcoin miner plugin
Post by: echo2 on July 24, 2011, 10:17:15 PM
umm is ur site down or what i cant connect


Title: Re: hashkill - testing bitcoin miner plugin
Post by: dlasher on July 26, 2011, 09:11:12 PM

latest version from sourceforge download (32-bit 2.4) fails to run on Fedora14 installation.

[root@miner6 hashkill-0.2.4-x86]# ./hashkill-gpu --help
./hashkill-gpu: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory

[root@miner6 hashkill-0.2.4-x86]# ldd hashkill-gpu
        linux-gate.so.1 =>  (0x00fab000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00d8a000)
        libdl.so.2 => /lib/libdl.so.2 (0x00d83000)
        libcrypto.so.0.9.8 => not found
        libm.so.6 => /lib/libm.so.6 (0x00db2000)
        librt.so.1 => /lib/librt.so.1 (0x00da7000)
        libssl.so.0.9.8 => not found
        libOpenCL.so => /usr/src/AMD-APP-SDK-v2.4-lnx32//lib/x86/libOpenCL.so (0x00961000)
        libc.so.6 => /lib/libc.so.6 (0x00bf7000)
        /lib/ld-linux.so.2 (0x00bd6000)


Suggestions as to what's missing? Closest match I can find its openssl/openSSL devel, but both are already installed:

<snip>
Package openssl-1.0.0d-1.fc14.i686 already installed and latest version
Package openssl-devel-1.0.0d-1.fc14.i686 already installed and latest version
<snip>



Title: Re: hashkill - testing bitcoin miner plugin
Post by: DasUrmel on August 26, 2011, 06:56:24 PM
Hi,

after installing hashkill I get this error:

Quote
[error] (plugins.c:258) Cannot open plugin library: /usr/share/hashkill/plugins/bitcoin.so
[error] (main.c:412) Cannot load plugin (bitcoin)

And it's correct, there are several .so modules in the directory, but bitcoin.so is missing.

Version is "hashkill-0.2.4-x86_64".

What did I do wrong ?

Thanks,
Thorsten


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on August 29, 2011, 07:27:05 AM
Sorry, the bitcoin plugin is a very low priority for me right now, I am working on completely different part related to hash cracking.

As far as your problem is concerned: where did you get hashkill from? Did you build it from source?

The "official" 0.2.4 version does _not_ contain the bitcoin code. It is experimental and meant to be included in 0.2.5 if it gets stable enough. There are still issues with it and unfortunatelly it is a low priority right now. Most of my efforts right now are towards migration to precompiled kernels and the rule engine for password cracking.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: Zoomer on September 14, 2011, 01:07:05 AM
Hey gat3way, are you developing a specific attack or a more general engine?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: runeks on September 23, 2011, 02:44:02 PM
Hi,

after installing hashkill I get this error:

Quote
[error] (plugins.c:258) Cannot open plugin library: /usr/share/hashkill/plugins/bitcoin.so
[error] (main.c:412) Cannot load plugin (bitcoin)

And it's correct, there are several .so modules in the directory, but bitcoin.so is missing.

Version is "hashkill-0.2.4-x86_64".

What did I do wrong ?

Thanks,
Thorsten
I experienced this problem as well. Copying over all files from the folder hashkill-s/plugins/ contained in hashkill-0.2.4-x86_64.tgz to /usr/share/hashkill/plugins/ fixed this for me. Though it's probably only necessary to copy over bitcoin.so.

I'm only getting ~195 Mh/s though, while cgminer gives me ~230 Mh/s.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: gat3way on September 28, 2011, 07:44:47 AM
What GPU are you using and what command-line arguments?


Title: Re: hashkill - testing bitcoin miner plugin
Post by: runeks on September 28, 2011, 08:56:47 PM
The aforementioned results were on a 5770 (195 Mh/s without any options, 195-198 with -D -G2). I also tried it on my 5870 which got 333-336 Mh/s with -D -G2. The 5870 gives me about 430 Mh/s with cgminer.


Title: Re: hashkill - testing bitcoin miner plugin
Post by: bergschreck on September 02, 2013, 03:32:17 PM
Here's the error I get:


[hashkill] Compiling OpenCL kernel source (amd_bitcoin.cl)[error] (ocl_bitcoin.c:1158) clBuildProgram error (-11)


Any ideas?
I have the same error on Debian 7. Cannot install AMD SDK, because it's already in the Debian packages. See here: https://wiki.debian.org/ATIStream

clinfo is working fine:
Code:
Number of platforms: 1
  Platform Profile: FULL_PROFILE
  Platform Version: OpenCL 1.2 AMD-APP (938.2)
  Platform Name: AMD Accelerated Parallel Processing
  Platform Vendor: Advanced Micro Devices, Inc.
  Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices


  Platform Name: AMD Accelerated Parallel Processing
Number of devices: 2
  Device Type: CL_DEVICE_TYPE_GPU
  Device ID: 4098
  Board name: AMD Radeon HD 7400A Series
  Device Topology: PCI[ B#1, D#0, F#0 ]
  Max compute units: 2
  Max work items dimensions: 3
    Max work items[0]: 256
    Max work items[1]: 256
    Max work items[2]: 256
  Max work group size: 256
  Preferred vector width char: 16
  Preferred vector width short: 8
  Preferred vector width int: 4
  Preferred vector width long: 2
  Preferred vector width float: 4
  Preferred vector width double: 0
  Native vector width char: 16
  Native vector width short: 8
  Native vector width int: 4
  Native vector width long: 2
  Native vector width float: 4
  Native vector width double: 0
  Max clock frequency: 625Mhz
  Address bits: 32
  Max memory allocation: 134217728
  Image support: Yes
  Max number of images read arguments: 128
  Max number of images write arguments: 8
  Max image 2D width: 8192
  Max image 2D height: 8192
  Max image 3D width: 2048
  Max image 3D height: 2048
  Max image 3D depth: 2048
  Max samplers within kernel: 16
  Max size of kernel argument: 1024
  Alignment (bits) of base address: 2048
  Minimum alignment (bytes) for any datatype: 128
  Single precision floating point capability
    Denorms: No
    Quiet NaNs: Yes
    Round to nearest even: Yes
    Round to zero: Yes
    Round to +ve and infinity: Yes
    IEEE754-2008 fused multiply-add: Yes
  Cache type: None
  Cache line size: 0
  Cache size: 0
  Global memory size: 536870912
  Constant buffer size: 65536
  Max number of constant args: 8
  Local memory type: Scratchpad
  Local memory size: 32768
  Kernel Preferred work group size multiple: 64
  Error correction support: 0
  Unified memory for Host and Device: 0
  Profiling timer resolution: 1
  Device endianess: Little
  Available: Yes
  Compiler available: Yes
  Execution capabilities:
    Execute OpenCL kernels: Yes
    Execute native function: No
  Queue properties:
    Out-of-Order: No
    Profiling : Yes
  Platform ID: 0x7fe461cdcce0
  Name: Caicos
  Vendor: Advanced Micro Devices, Inc.
  Device OpenCL C version: OpenCL C 1.2
  Driver version: CAL 1.4.1741
  Profile: FULL_PROFILE
  Version: OpenCL 1.2 AMD-APP (938.2)
  Extensions: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt


  Device Type: CL_DEVICE_TYPE_CPU
  Device ID: 4098
  Board name:
  Max compute units: 4
  Max work items dimensions: 3
    Max work items[0]: 1024
    Max work items[1]: 1024
    Max work items[2]: 1024
  Max work group size: 1024
  Preferred vector width char: 16
  Preferred vector width short: 8
  Preferred vector width int: 4
  Preferred vector width long: 2
  Preferred vector width float: 4
  Preferred vector width double: 0
  Native vector width char: 16
  Native vector width short: 8
  Native vector width int: 4
  Native vector width long: 2
  Native vector width float: 4
  Native vector width double: 0
  Max clock frequency: 3300Mhz
  Address bits: 64
  Max memory allocation: 2147483648
  Image support: Yes
  Max number of images read arguments: 128
  Max number of images write arguments: 8
  Max image 2D width: 8192
  Max image 2D height: 8192
  Max image 3D width: 2048
  Max image 3D height: 2048
  Max image 3D depth: 2048
  Max samplers within kernel: 16
  Max size of kernel argument: 4096
  Alignment (bits) of base address: 1024
  Minimum alignment (bytes) for any datatype: 128
  Single precision floating point capability
    Denorms: Yes
    Quiet NaNs: Yes
    Round to nearest even: Yes
    Round to zero: Yes
    Round to +ve and infinity: Yes
    IEEE754-2008 fused multiply-add: Yes
  Cache type: Read/Write
  Cache line size: 64
  Cache size: 32768
  Global memory size: 4142911488
  Constant buffer size: 65536
  Max number of constant args: 8
  Local memory type: Global
  Local memory size: 32768
  Kernel Preferred work group size multiple: 1
  Error correction support: 0
  Unified memory for Host and Device: 1
  Profiling timer resolution: 1
  Device endianess: Little
  Available: Yes
  Compiler available: Yes
  Execution capabilities:
    Execute OpenCL kernels: Yes
    Execute native function: Yes
  Queue properties:
    Out-of-Order: No
    Profiling : Yes
  Platform ID: 0x7fe461cdcce0
  Name: Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz
  Vendor: GenuineIntel
  Device OpenCL C version: OpenCL C 1.2
  Driver version: 2.0 (sse2,avx)
  Profile: FULL_PROFILE
  Version: OpenCL 1.2 AMD-APP (938.2)
  Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt

So must be a problem with hashkill-gpu