Pages:
Author

Topic: DiabloMiner GPU Miner - page 47. (Read 866596 times)

legendary
Activity: 1162
Merit: 1000
DiabloMiner author
July 10, 2011, 12:53:00 PM
ANY client that EVER uses GET for JSON RPC is wrong. Read the HTTP spec, GETs should never have message bodies. DiabloMiner follows the HTTP specification and uses POST for all requests.


Can you clarify this a bit? My understanding is that a LP URL does not have a body, and thus using GET is just fine.

Nope, LP expects a standard JSON RPC request as far as I can tell.
newbie
Activity: 39
Merit: 0
July 10, 2011, 09:50:27 AM
ANY client that EVER uses GET for JSON RPC is wrong. Read the HTTP spec, GETs should never have message bodies. DiabloMiner follows the HTTP specification and uses POST for all requests.


Can you clarify this a bit? My understanding is that a LP URL does not have a body, and thus using GET is just fine.
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
July 09, 2011, 04:04:41 PM
Update: Further fix against broken pools
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
July 09, 2011, 04:00:37 PM
Quote
3) Miner starts a request to long polling URL with GET

So yes "" does make sense because the pool can just check wether it's a GET or POST request...

ANY client that EVER uses GET for JSON RPC is wrong. Read the HTTP spec, GETs should never have message bodies. DiabloMiner follows the HTTP specification and uses POST for all requests.

If you want LP to work, it must be a unique URL.

Try running DM with -dd, you'll see a matching flood of LP returned messages because your server is not holding the LP request open correctly.
full member
Activity: 302
Merit: 100
Presale is live!
July 09, 2011, 11:35:34 AM
-snip old stuff-

"" makes no sense, because then it would use the existing URL with no modifications. How would the pool server be able to tell the difference? My miner immediately starts a new LP attempt once the existing one completes. So, yes, it starts spamming because LP is not supposed to return immediately.

"foo" adds /foo to the end of the existing URL's path. "/foo" replaces the entire path, and then it also accepts a fully qualified URL. Other miners seem to only accept "foo" in violation of any sane interpretation of the URL RFC.

Quote from: [url=https://deepbit.net/longpolling.php
https://deepbit.net/longpolling.php[/url]]Long polling protocol description

1) Miner initiates connection to the mining pool just as usual, requests getwork and starts working on it.

2) If mining pool does supports Long Polling, it should include a special header:
X-Long-Polling: /long-polling-url
where /long-polling-url is a path for long polling connection. It can be a full URL with separate port too.

3) Miner starts a request to long polling URL with GET method and same basic authorization as on main connection.
This request is not answered by server until new block is found by bitcoin network. The answer is the same as getwork on the main connection. Upon receiving this answer, miner should drop current calculation in progress, discard it's result, start working on received data and make a new request to a long polling URL.

4) If all the nonce space is exhausted during calculation or 60 seconds passed since receiving the data, the miner should request new one by means of main connection. 60 seconds limit is set to allow adding new transactions into the block.

So yes "" does make sense because the pool can just check wether it's a GET or POST request...
Anyway that's not important because i changed my code...

Also we're talking past eachother here i think... Because it doesn't matter wether i add /foo, foo or http://localhost:8000/foo to the header, it still connects just fine...

the Longpolling issue is already fixed!

The spamming im talking about now is this:

Code:
[18:28:24] {"method":"getwork","params":[],"id":1}
[18:28:34] {"method":"getwork","params":[],"id":1}
[18:28:35] {"method":"getwork","params":[],"id":1}
Longpoll connection added
[18:28:44] {"method":"getwork","params":["0000000150038abc2f93cb863de66465583803
652bc9b21f3914467a0000043a00000000293f71de5bfea504c4dd9bedd2f29788c74d310d6a00ba
823ae665894adaeb7b4e1881b71a0abbcf4655401100000080000000000000000000000000000000
0000000000000000000000000000000000000000000000000080020000"],"id":1}
Solved work submitted
[18:29:34] {"method":"getwork","params":[],"id":1}
[18:29:35] {"method":"getwork","params":[],"id":1}
[18:29:35] {"method":"getwork","params":[],"id":1}
[18:29:35] {"method":"getwork","params":[],"id":1}
[18:29:36] {"method":"getwork","params":[],"id":1}
[18:29:36] {"method":"getwork","params":[],"id":1}
[18:29:37] {"method":"getwork","params":[],"id":1}
[18:29:37] {"method":"getwork","params":[],"id":1}
[18:29:37] {"method":"getwork","params":[],"id":1}
[18:29:38] {"method":"getwork","params":[],"id":1}
[18:29:38] {"method":"getwork","params":[],"id":1}
[18:29:38] {"method":"getwork","params":[],"id":1}
[18:29:39] {"method":"getwork","params":[],"id":1}
[18:29:39] {"method":"getwork","params":[],"id":1}
[18:29:39] {"method":"getwork","params":[],"id":1}
[18:29:40] {"method":"getwork","params":[],"id":1}

diablominer output says nothing about the issue... And phoenix doesn't do the same, nor does poclbm so i has to assume you're doing something special?
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
July 09, 2011, 08:33:24 AM
@DiabloD3: I'm currently writing my own pool software and i was wondering if DiabloMiner conforms with the longpoll protocol description at https://deepbit.net/longpolling.php ? because currently my code works perfectly with Phoenix but Diablominer screws up:

Code:
[09-07-11 04:08:06] Started
[09-07-11 04:08:06] Connecting to: http://localhost:8000/
[09-07-11 04:08:06] Using AMD Accelerated Parallel Processing OpenCL 1.1 AMD-APP
-SDK-v2.4 (650.9)
[09-07-11 04:08:08] Added ATI RV770 (#2) (10 CU, local work size of 256)
[09-07-11 04:08:15] DEBUG: Enabling long poll support
[09-07-11 04:08:16] DEBUG: Long poll returned
[09-07-11 04:08:17] DEBUG: Long poll returned
[09-07-11 04:08:23] DEBUG: Long poll returned
[09-07-11 04:08:24] DEBUG: Long poll returned
[09-07-11 04:08:25] DEBUG: Long poll returned
[09-07-11 04:08:26] DEBUG: Long poll returned
[09-07-11 04:08:27] DEBUG: Long poll returned
[09-07-11 04:08:28] DEBUG: Long poll returned
[09-07-11 04:08:29] DEBUG: Long poll returned
[09-07-11 04:08:30] DEBUG: Long poll returned
[09-07-11 04:08:30] DEBUG: Long poll returned
[09-07-11 04:08:32] DEBUG: Long poll returned
[09-07-11 04:08:33] DEBUG: Long poll returned
mhash: 51,1/47,0 | a/r/hwe: 0/0/0 | ghash: 1,2 | fps: 29,8

I guess you're using the protocol differently because i never actually recieves any GET request from diablominer...
Could you prehaps give me the specifications you go by?

I follow the URL RFC and the LP specification. What URL are you giving it in the LP header?

Code:
response.AppendHeader("X-Long-Polling","");

AKA same URL but i guess it probably would be a good idea to add /LP just to avoid confusing miners Smiley But none the less i'm never getting a GET request which i technically should :p

Okay so i changed my code around a bit to use the incomming RawUrl as the determining factor for wether or not it's the LP request wich works fine for both phoenix and diablominer BUT diablominer starts spamming getwork requests after ~57 seconds @ 60-70 mhash/s
Any idea what that could be?

"" makes no sense, because then it would use the existing URL with no modifications. How would the pool server be able to tell the difference? My miner immediately starts a new LP attempt once the existing one completes. So, yes, it starts spamming because LP is not supposed to return immediately.

"foo" adds /foo to the end of the existing URL's path. "/foo" replaces the entire path, and then it also accepts a fully qualified URL. Other miners seem to only accept "foo" in violation of any sane interpretation of the URL RFC.
full member
Activity: 302
Merit: 100
Presale is live!
July 09, 2011, 07:58:48 AM
@DiabloD3: I'm currently writing my own pool software and i was wondering if DiabloMiner conforms with the longpoll protocol description at https://deepbit.net/longpolling.php ? because currently my code works perfectly with Phoenix but Diablominer screws up:

Code:
[09-07-11 04:08:06] Started
[09-07-11 04:08:06] Connecting to: http://localhost:8000/
[09-07-11 04:08:06] Using AMD Accelerated Parallel Processing OpenCL 1.1 AMD-APP
-SDK-v2.4 (650.9)
[09-07-11 04:08:08] Added ATI RV770 (#2) (10 CU, local work size of 256)
[09-07-11 04:08:15] DEBUG: Enabling long poll support
[09-07-11 04:08:16] DEBUG: Long poll returned
[09-07-11 04:08:17] DEBUG: Long poll returned
[09-07-11 04:08:23] DEBUG: Long poll returned
[09-07-11 04:08:24] DEBUG: Long poll returned
[09-07-11 04:08:25] DEBUG: Long poll returned
[09-07-11 04:08:26] DEBUG: Long poll returned
[09-07-11 04:08:27] DEBUG: Long poll returned
[09-07-11 04:08:28] DEBUG: Long poll returned
[09-07-11 04:08:29] DEBUG: Long poll returned
[09-07-11 04:08:30] DEBUG: Long poll returned
[09-07-11 04:08:30] DEBUG: Long poll returned
[09-07-11 04:08:32] DEBUG: Long poll returned
[09-07-11 04:08:33] DEBUG: Long poll returned
mhash: 51,1/47,0 | a/r/hwe: 0/0/0 | ghash: 1,2 | fps: 29,8

I guess you're using the protocol differently because i never actually recieves any GET request from diablominer...
Could you prehaps give me the specifications you go by?

I follow the URL RFC and the LP specification. What URL are you giving it in the LP header?

Code:
response.AppendHeader("X-Long-Polling","");

AKA same URL but i guess it probably would be a good idea to add /LP just to avoid confusing miners Smiley But none the less i'm never getting a GET request which i technically should :p

Okay so i changed my code around a bit to use the incomming RawUrl as the determining factor for wether or not it's the LP request wich works fine for both phoenix and diablominer BUT diablominer starts spamming getwork requests after ~57 seconds @ 60-70 mhash/s
Any idea what that could be?
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
July 09, 2011, 06:14:17 AM
Code:
[09/07/11 02:54:24] Started
[09/07/11 02:54:24] Connecting to: http://api.bitcoin.cz:8332/
[09/07/11 02:54:24] Using ATI Stream OpenCL 1.0 ATI-Stream-v2.1 (145)
[09/07/11 02:54:33] BFI_INT patching enabled, disabling hardware checkin
[09/07/11 02:54:33] Added Cypress (#1) (18 CU, local work size of 256)
mhash: 0.0/0.0 | accept: 0 | reject: 0 | hw error: 0

Using Ubuntu 10.10 and a Sapphire HD 5850, it never seems to do any work, it just sits there?

Any ideas on what may be causing this problem?

Yes, you used -D 0. I swear I'm going to add an error for that.

Do not use -D unless you want to exclude cards. DiabloMiner by default uses all cards.

Actually I didn't, I used this exact command:

Code:
./DiabloMiner-YourOS.sh -u myuser -p mypass -o api.mining.cz

Weird. The only way you can get that behavior is if slush's pool is accepting new connections but just stalling. Try a different pool.
newbie
Activity: 29
Merit: 0
July 09, 2011, 05:00:22 AM
Code:
[09/07/11 02:54:24] Started
[09/07/11 02:54:24] Connecting to: http://api.bitcoin.cz:8332/
[09/07/11 02:54:24] Using ATI Stream OpenCL 1.0 ATI-Stream-v2.1 (145)
[09/07/11 02:54:33] BFI_INT patching enabled, disabling hardware checkin
[09/07/11 02:54:33] Added Cypress (#1) (18 CU, local work size of 256)
mhash: 0.0/0.0 | accept: 0 | reject: 0 | hw error: 0

Using Ubuntu 10.10 and a Sapphire HD 5850, it never seems to do any work, it just sits there?

Any ideas on what may be causing this problem?

Yes, you used -D 0. I swear I'm going to add an error for that.

Do not use -D unless you want to exclude cards. DiabloMiner by default uses all cards.

Actually I didn't, I used this exact command:

Code:
./DiabloMiner-YourOS.sh -u myuser -p mypass -o api.mining.cz
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
July 09, 2011, 12:36:02 AM
Something is extremely wrong with OSX. Its saying its executing kernels, but then not, and then doesn't emit any errors.

DM will wildly spin like that when kernels take zero time to execute. Problem is, the implementation MUST emit errors.

I so very much hate OSX.

Do you have access to a Mac? If not, would you like remote access to one to play with?


I don't need access. OSX is not open source, so I can't fix it where it needs to be fixed, only Apple can.
member
Activity: 90
Merit: 12
July 08, 2011, 11:27:53 PM
Something is extremely wrong with OSX. Its saying its executing kernels, but then not, and then doesn't emit any errors.

DM will wildly spin like that when kernels take zero time to execute. Problem is, the implementation MUST emit errors.

I so very much hate OSX.

Do you have access to a Mac? If not, would you like remote access to one to play with?
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
July 08, 2011, 11:18:40 PM
I read back for the last few pages and don't see anyone reporting this, if it's already been mentioned sorry!

I'm trying this on OS X 10.7, with both a 5870 and 5770 in the same Mac Pro. I know the Mac OpenCL implementation is pretty bad for this stuff, but I'm seeing something kinda weird with the latest binary.

It seems to think that my system is producing many ghash/sec. As awesome as this would be if it were true, I'm going to go out on a limb here and say something is wrong.

I get:

Code:
[7/8/11 9:25:31 PM] Using Apple OpenCL 1.1 (Jun 14 2011 23:31:14)            
[7/8/11 9:25:31 PM] Added ATI Radeon HD 5770 (#1) (10 CU, local work size of 256)
[7/8/11 9:25:32 PM] DEBUG: Enabling long poll support                       
[7/8/11 9:25:32 PM] Added ATI Radeon HD 5870 (#2) (20 CU, local work size of 256)

Followed by 3-10 "Forcing getwork update due to nonce saturation" messages per second. When I finally get it displaying stats, I see:

mhash: 16830.9/14640.1 | a/r/hwe: 0/0/0 | ghash: 223.2 612.6 | fps: 160.1

It does appear to be doing SOME work, since I'm getting occasional blocks accepted by the server, but not nearly enough for the speeds it thinks it's doing. The "ghash" counter seems to repeatedly jump in large movements, then go back to normal incrementing.

I've tried enabling just one card at a time, and the results are pretty much the same.  Anyone seen anything like this?



Something is extremely wrong with OSX. Its saying its executing kernels, but then not, and then doesn't emit any errors.

DM will wildly spin like that when kernels take zero time to execute. Problem is, the implementation MUST emit errors.

I so very much hate OSX.
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
July 08, 2011, 11:16:29 PM
@DiabloD3: I'm currently writing my own pool software and i was wondering if DiabloMiner conforms with the longpoll protocol description at https://deepbit.net/longpolling.php ? because currently my code works perfectly with Phoenix but Diablominer screws up:

Code:
[09-07-11 04:08:06] Started
[09-07-11 04:08:06] Connecting to: http://localhost:8000/
[09-07-11 04:08:06] Using AMD Accelerated Parallel Processing OpenCL 1.1 AMD-APP
-SDK-v2.4 (650.9)
[09-07-11 04:08:08] Added ATI RV770 (#2) (10 CU, local work size of 256)
[09-07-11 04:08:15] DEBUG: Enabling long poll support
[09-07-11 04:08:16] DEBUG: Long poll returned
[09-07-11 04:08:17] DEBUG: Long poll returned
[09-07-11 04:08:23] DEBUG: Long poll returned
[09-07-11 04:08:24] DEBUG: Long poll returned
[09-07-11 04:08:25] DEBUG: Long poll returned
[09-07-11 04:08:26] DEBUG: Long poll returned
[09-07-11 04:08:27] DEBUG: Long poll returned
[09-07-11 04:08:28] DEBUG: Long poll returned
[09-07-11 04:08:29] DEBUG: Long poll returned
[09-07-11 04:08:30] DEBUG: Long poll returned
[09-07-11 04:08:30] DEBUG: Long poll returned
[09-07-11 04:08:32] DEBUG: Long poll returned
[09-07-11 04:08:33] DEBUG: Long poll returned
mhash: 51,1/47,0 | a/r/hwe: 0/0/0 | ghash: 1,2 | fps: 29,8

I guess you're using the protocol differently because i never actually recieves any GET request from diablominer...
Could you prehaps give me the specifications you go by?

I follow the URL RFC and the LP specification. What URL are you giving it in the LP header?
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
July 08, 2011, 11:15:02 PM
Code:
[09/07/11 02:54:24] Started
[09/07/11 02:54:24] Connecting to: http://api.bitcoin.cz:8332/
[09/07/11 02:54:24] Using ATI Stream OpenCL 1.0 ATI-Stream-v2.1 (145)
[09/07/11 02:54:33] BFI_INT patching enabled, disabling hardware checkin
[09/07/11 02:54:33] Added Cypress (#1) (18 CU, local work size of 256)
mhash: 0.0/0.0 | accept: 0 | reject: 0 | hw error: 0

Using Ubuntu 10.10 and a Sapphire HD 5850, it never seems to do any work, it just sits there?

Any ideas on what may be causing this problem?

Yes, you used -D 0. I swear I'm going to add an error for that.

Do not use -D unless you want to exclude cards. DiabloMiner by default uses all cards.
member
Activity: 90
Merit: 12
July 08, 2011, 09:32:24 PM
I read back for the last few pages and don't see anyone reporting this, if it's already been mentioned sorry!

I'm trying this on OS X 10.7, with both a 5870 and 5770 in the same Mac Pro. I know the Mac OpenCL implementation is pretty bad for this stuff, but I'm seeing something kinda weird with the latest binary.

It seems to think that my system is producing many ghash/sec. As awesome as this would be if it were true, I'm going to go out on a limb here and say something is wrong.

I get:

Code:
[7/8/11 9:25:31 PM] Using Apple OpenCL 1.1 (Jun 14 2011 23:31:14)            
[7/8/11 9:25:31 PM] Added ATI Radeon HD 5770 (#1) (10 CU, local work size of 256)
[7/8/11 9:25:32 PM] DEBUG: Enabling long poll support                       
[7/8/11 9:25:32 PM] Added ATI Radeon HD 5870 (#2) (20 CU, local work size of 256)

Followed by 3-10 "Forcing getwork update due to nonce saturation" messages per second. When I finally get it displaying stats, I see:

mhash: 16830.9/14640.1 | a/r/hwe: 0/0/0 | ghash: 223.2 612.6 | fps: 160.1

It does appear to be doing SOME work, since I'm getting occasional blocks accepted by the server, but not nearly enough for the speeds it thinks it's doing. The "ghash" counter seems to repeatedly jump in large movements, then go back to normal incrementing.

I've tried enabling just one card at a time, and the results are pretty much the same.  Anyone seen anything like this?

full member
Activity: 302
Merit: 100
Presale is live!
July 08, 2011, 09:10:32 PM
@DiabloD3: I'm currently writing my own pool software and i was wondering if DiabloMiner conforms with the longpoll protocol description at https://deepbit.net/longpolling.php ? because currently my code works perfectly with Phoenix but Diablominer screws up:

Code:
[09-07-11 04:08:06] Started
[09-07-11 04:08:06] Connecting to: http://localhost:8000/
[09-07-11 04:08:06] Using AMD Accelerated Parallel Processing OpenCL 1.1 AMD-APP
-SDK-v2.4 (650.9)
[09-07-11 04:08:08] Added ATI RV770 (#2) (10 CU, local work size of 256)
[09-07-11 04:08:15] DEBUG: Enabling long poll support
[09-07-11 04:08:16] DEBUG: Long poll returned
[09-07-11 04:08:17] DEBUG: Long poll returned
[09-07-11 04:08:23] DEBUG: Long poll returned
[09-07-11 04:08:24] DEBUG: Long poll returned
[09-07-11 04:08:25] DEBUG: Long poll returned
[09-07-11 04:08:26] DEBUG: Long poll returned
[09-07-11 04:08:27] DEBUG: Long poll returned
[09-07-11 04:08:28] DEBUG: Long poll returned
[09-07-11 04:08:29] DEBUG: Long poll returned
[09-07-11 04:08:30] DEBUG: Long poll returned
[09-07-11 04:08:30] DEBUG: Long poll returned
[09-07-11 04:08:32] DEBUG: Long poll returned
[09-07-11 04:08:33] DEBUG: Long poll returned
mhash: 51,1/47,0 | a/r/hwe: 0/0/0 | ghash: 1,2 | fps: 29,8

I guess you're using the protocol differently because i never actually recieves any GET request from diablominer...
Could you prehaps give me the specifications you go by?
newbie
Activity: 29
Merit: 0
July 08, 2011, 08:56:50 PM
Code:
[09/07/11 02:54:24] Started
[09/07/11 02:54:24] Connecting to: http://api.bitcoin.cz:8332/
[09/07/11 02:54:24] Using ATI Stream OpenCL 1.0 ATI-Stream-v2.1 (145)
[09/07/11 02:54:33] BFI_INT patching enabled, disabling hardware checkin
[09/07/11 02:54:33] Added Cypress (#1) (18 CU, local work size of 256)
mhash: 0.0/0.0 | accept: 0 | reject: 0 | hw error: 0

Using Ubuntu 10.10 and a Sapphire HD 5850, it never seems to do any work, it just sits there?

Any ideas on what may be causing this problem?
member
Activity: 78
Merit: 10
July 08, 2011, 02:11:06 AM
Backup pool option would be great right now. Stupid DDoS!
  Yea, go borrow the code from Hashkill ;-)
Or poclbm. And I don't really like poclbm.
newbie
Activity: 27
Merit: 0
July 07, 2011, 02:55:39 PM
Backup pool option would be great right now. Stupid DDoS!
  Yea, go borrow the code from Hashkill ;-)
member
Activity: 78
Merit: 10
July 07, 2011, 01:41:07 PM
Backup pool option would be great right now. Stupid DDoS!
Pages:
Jump to: