Author

Topic: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.11.0 - page 843. (Read 5805198 times)

legendary
Activity: 2576
Merit: 1186
Just to say, that's not gigahashes. It's called nonces really or whatever, but i am pretty much sure it's not GH/s. It's just numbers which the GPU can go over very quickly, where the CPU(my phenom 955) can do around 3 million hashes per second, or 3 million nonces per second.
Each nonce gives a hash/second. You can start over the nonce range every second with new hashes. So your 3 MH/s only covers less than 0.1% of the nonce range before it can start over from the beginning.
full member
Activity: 126
Merit: 100
Just to say, that's not gigahashes. It's called nonces really or whatever, but i am pretty much sure it's not GH/s. It's just numbers which the GPU can go over very quickly, where the CPU(my phenom 955) can do around 3 million hashes per second, or 3 million nonces per second.
legendary
Activity: 2576
Merit: 1186
Honestly luke, that looks like the exact ripoff of my suggestion for splitting a single work across multiple threads on a CPU miner with a given noncerange. So the 2^32 range is divided by the number of threads.
No number of threads on a single cost-effective machine (CPU or GPU) will ever max out 4 GH/s. Putting this in the protocol (though it could be done in the miner additionally) allows the work to be split among multiple unrelated miners. Anyhow, I don't see your "suggestion" anywhere, much less before I wrote up mine. "Ripoff" doesn't apply to independent research.
Not that i understand where these 4 gigahashes of yours come from, but this is my suggestion. http://forum.bitcoin.org/index.php?topic=21275.msg350512#msg350512
Each work can sustain up to 4.294967295 GH/s before you need more. Your suggestion was on July 11th, whereas I originally suggested this June 29th. :p
full member
Activity: 126
Merit: 100
Honestly luke, that looks like the exact ripoff of my suggestion for splitting a single work across multiple threads on a CPU miner with a given noncerange. So the 2^32 range is divided by the number of threads.
No number of threads on a single cost-effective machine (CPU or GPU) will ever max out 4 GH/s. Putting this in the protocol (though it could be done in the miner additionally) allows the work to be split among multiple unrelated miners. Anyhow, I don't see your "suggestion" anywhere, much less before I wrote up mine. "Ripoff" doesn't apply to independent research.
Not that i understand where these 4 gigahashes of yours come from, but this is my suggestion. http://forum.bitcoin.org/index.php?topic=21275.msg350512#msg350512
legendary
Activity: 2576
Merit: 1186
Honestly luke, that looks like the exact ripoff of my suggestion for splitting a single work across multiple threads on a CPU miner with a given noncerange. So the 2^32 range is divided by the number of threads.
No number of threads on a single cost-effective machine (CPU or GPU) will ever max out 4 GH/s. Putting this in the protocol (though it could be done in the miner additionally) allows the work to be split among multiple unrelated miners. Anyhow, I don't see your "suggestion" anywhere, much less before I wrote up mine. "Ripoff" doesn't apply to independent research.
full member
Activity: 126
Merit: 100
Honestly luke, that looks like the exact ripoff of my suggestion for splitting a single work across multiple threads on a CPU miner with a given noncerange. So the 2^32 range is divided by the number of threads.
legendary
Activity: 2576
Merit: 1186
Feature request: Support for X-Roll-Ntime (with expire extension and noncerange

This can allow clusters of many CPUs/GPUs to process the same work up to ~4 GH/s.
x-roll-ntime is supported, but indirectly. The "local generation of work" cgminer does is rolling ntime, and is only done when network connectivity cannot keep up with demand for work. I'm not sure how much I'll be expanding on this feature in the future. I'd be surprised if cgminer couldn't keep massive hashes busy already given how the work is gathered for the worker threads at the moment.
If a miner only has 10 MH/s, I don't want to waste 4 GH/s worth of work (a full nonce range) on them. Using noncerange allows me to chop that up into pieces and share a single work among 256 different 10 MH/s miners. I don't know how it would affect the CPU mining algorithms, but IIRC having to "finish off" a nonce range on a GPU caused some slowdown, so the poclbm branch with support rolls ntime aggressively to avoid it.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Feature request: Support for X-Roll-Ntime (with expire extension and noncerange

This can allow clusters of many CPUs/GPUs to process the same work up to ~4 GH/s.
x-roll-ntime is supported, but indirectly. The "local generation of work" cgminer does is rolling ntime, and is only done when network connectivity cannot keep up with demand for work. I'm not sure how much I'll be expanding on this feature in the future. I'd be surprised if cgminer couldn't keep massive hashes busy already given how the work is gathered for the worker threads at the moment.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Updated git tree:

- Disable restarting of CPU mining threads pending further investigation.
- Update longpoll messages.
- Add new block data to status line.
- Fix opencl tests for osx.
- Only do local generation of work if the work item is not stale itself.
- Check for stale work within the mining threads and grab new work if
positive.
- Test for idle network conditions and prevent threads from being restarted
by the watchdog thread under those circumstances.
- Make sure that local work generation does not continue indefinitely by
stopping it after 10 minutes.
- Tweak the kernel to have a shorter path using a 4k buffer and a mask on the
nonce value instead of a compare and loop for a shorter code path.
- Allow queue of zero and make that default again now that we can track how
work is being queued versus staged. This can decrease reject rates.
- Queue precisely the number of mining threads as longpoll_staged after a
new block to not generate local work.
legendary
Activity: 2576
Merit: 1186
Feature request: Support for X-Roll-Ntime (with expire extension and noncerange

This can allow clusters of many CPUs/GPUs to process the same work up to ~4 GH/s.
newbie
Activity: 17
Merit: 0
win32 v1.2.6 still has problem with combined gpu+cpu mining and with cpu mining.

radeon 5550 + core i3 (should be 60+Mh/s + ~8Mh/s - both overclocked)

"-g 0 -t 4" - cpu threads keep getting restarted every 60 seconds and don't complete any work.
as someone suggested in the previous topic, it would be much more efficient to make all cpu threads work on a single share because otherwise they complete no work at all.

"-g 2 -t 4" - gpu threads are for some reason hogged by cpu and both cpu and gpu don't complete any work.
checked with gpu-z - gpu load stays at 0
Code:
 cgminer version 1.2.6 - Started: [2011-07-15 16:55:35]
--------------------------------------------------------------------------------
 [(5s):114.6  (avg):230.8 Mh/s] [Q:20  A:0  R:0  HW:0  E:0%  U:0.00/m]

 TQ: 1  ST: 1  LS: 0  SS: 0  DW: 3  LW: 0  LO: 0  RF: 0  I: 0
--------------------------------------------------------------------------------
 GPU 0: [1.7 Mh/s] [Q:4  A:0  R:0  HW:0  E:0%  U:0.00/m]
 CPU 0: [229.1 Mh/s] [Q:12  A:0  R:0  HW:0  E:0%  U:0.00/m]
--------------------------------------------------------------------------------

[2011-07-15 16:57:08] Attempting to restart thread 2, idle for more than 60 seconds

[2011-07-15 16:57:08] Thread 2 restarted
[2011-07-15 16:57:10] Attempting to restart thread 3, idle for more than 60 seconds

[2011-07-15 16:57:10] Thread 3 restarted
[2011-07-15 16:57:12] Attempting to restart thread 4, idle for more than 60 seconds

[2011-07-15 16:57:12] Thread 4 restarted
[2011-07-15 16:57:14] Attempting to restart thread 5, idle for more than 60 seconds

[2011-07-15 16:57:14] Thread 5 restarted
[2011-07-15 16:57:27] LONGPOLL detected new block on network, flushing work queue


also, intensity on dynamic setting stays 0-1 no matter how long i leave the pc running with all other apps closed. are there any specific conditions for increasing the intensity dynamically?
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
newbie
Activity: 46
Merit: 0
ckolivas i still get that error when i'm starting cgminer, any idea on  how to fix it?
hero member
Activity: 588
Merit: 500
I get a ton of messages that look like this:

Code:

[2011-07-15 07:36:36] JSON-RPC call failed: {
   "message": "Deepbit.lib.InfoException: Wrong data: checkWork: this nonce already completedpostWork user:XXXXXXXXXX worker: XXXXXX ip:XXXXXXX d
ata=00000001f781eaf6bec739630c886694a7fe9707717795b0debee5470000026a00000000bd1084c92487046be3d5cfdee3ae7ed69ac16d588111f5a796d9bcfdcd23a0ee4e1fed491a0abbcf20f97809000000800000
000000000000000000000000000000000000000000000000000000000000000000000000000080020000",
   "code": -1
}


If I kill cgminer and restart, the problem goes away, so likely not a poolside problem ...

Why is that, I wonder ?

Looks like a stale share. No idea why it's coming out like that, though.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
That's even better news since it confirms the validity of cgminer's ability to continue doing useful work in the network outage. Thanks.
hero member
Activity: 737
Merit: 500
6. There was a flurry of messages that went by very fast.  I assume these were all the cached share submissions.  I didn't see the ones at the start, but the last set were all rejected/stale (which is expected since there was definitly a new block on the network while I was disconnected).

I can confirm now that at least some of the flurry of submissions were valid.  I can see on my pool stats page that my hashrate dropped while the internet connection was down, but then shot up to 50% higher than my actual hashrate as soon as it returned.  Since they calculate my hashrate based on accepted shares, I believe this means that I send a hugh backlog of valid shares right when the network returned and that made my 5-minute average hashrate look larger than it actually is.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
@ewal: Thanks very much for that test.

I will likely be adding a timeout where it can only do locally generated work for 20 minutes since 10 minutes is the average duration it takes for a new block to appear on the network. Best to not keep mining forever with a real network outage.
hero member
Activity: 737
Merit: 500
I tested the latest git code (excluding the very recent kernel tweak) with a simulated internet conncetion failure:

1. I unplugged my internet for 10 minutes and cleared the DNS cache on my miner and on my proxy server.

2. Shortly after the internet connection went down, cgminer reported that the pool was slow and it started doing generating local work.

3. Shortly after that, there was a message about a submit timing out and being cached.

4. Then I waited 10 minutes.  The miner kept mining (at least hashrates on the display stayed high) the entire time.

5. I plugged the internet back in. 

6. There was a flurry of messages that went by very fast.  I assume these were all the cached share submissions.  I didn't see the ones at the start, but the last set were all rejected/stale (which is expected since there was definitly a new block on the network while I was disconnected).

7. After the flurry, cgminer returned to mining as normal without needing to be restarted (and reported it was resuming communications with the server).

So it appears to work better now than when I had my 4 hour internet outage.   At least as far as I can tell in a 10 minute test (and I can't bring myself to test longer than that).
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Updated git tree:

Made the kernel code ever so slightly smaller and faster. It does not appear to be significantly faster unless you squint real hard when looking at the hash rates. Anyway, it's there because it's a good thing [tm]. You'll need to do ./autogen.sh again with this change to the tree if building from git.

More stuff planned when time allows.
Jump to: