I've uploaded some fresh debug builds for windows here for those who want to try and help me get debug information: http://ck.kolivas.org/apps/cgminer/debug/These builds have optimisations disabled to hopefully try and get meaningful debug information out of them. It's annoying how hard windows builds are to debug... Oh and the libcurl dll included in the 2.10.0 archive is already one with the fix from 2.9.7 (even though it's a different size) so there's no point trying a different dll if you are getting crashes. cgminer.exe caused an Access Violation at location 65722074 Reading from location 65722074. Registers: eax=00000000 ebx=0028f570 ecx=747b2e09 edx=00000000 esi=00000002 edi=00000000 eip=771c15de esp=0028f55c ebp=0028faa4 iopl=0 nv up ei pl zr na po nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246 Call stack: 771C15DE ntdll.dll:771C15DE ZwRaiseException 75111A2C kernel32.dll:75111A2C WaitForMultipleObjectsEx 75114220 kernel32.dll:75114220 WaitForMultipleObjects 6248320B pthreadGC2.dll:6248320B pthreadCancelableTimedWait Oh well. Hopefully avoiding using curl as much as possible with raw sockets on stratum in 2.10.1 fixes it.
|
|
|
I don't know if this is the right place to ask this, but has anyone tried to compile the stratum proxy for dd-wrt? Is it possible? How could I setup the compile environment?
Thank you all in advance.
This is not the right place. Check the stratum thread. And the proxy is in python so needs no compiling, just python.
|
|
|
Increase the fee on getwork pools. End of story.
|
|
|
New version: 2.10.1, 14th December 2012
Mainly to try and fix the windows+stratum disconnect bug.
Human readable changelog:
Converted the curl code that was where all the crashing on windows was occurring into the raw code equivalents. Hopefully this quashes the crashes with stratum on various flavours of windows. Ztex and MMQ updates. Miner.php updates New API features and code improvements.
Full changelog:
- Check for EWOULDBLOCK when supported in send and recv as well. - Use the raw send() command instead of curl_easy_send since curl raw socket usage introduces random bugs on windows. - Use raw recv() command in place of curl_easy_recv since the curl implementation introduces random bugs on windows builds when the recv fails. - miner.php when displaying a single rig, add prev/next rig buttons if they exist, next to refresh - miner.php allow custom page joins for STATS - API show if pool has GBT (so people know not to use that pool) - miner.php - include windows easyphp link - driver-ztex: use the correct size for the swap array - API stats - display pool byte transfer stats - Pool store data transfer stats - README ModMiner dependency - Benchmark incorrect work size - ChangeLog refer to NEWS - MMQ handle over temp differently and hash longer - driver-ztex: search the complete noncerange based on the actual speed - README - update ModMiner details - API-README update - api use a dynamic io buffer, truncated before it reaches the current ~64k limit
|
|
|
Despite the windows+stratum bugs that people are still encountering with 2.10.0, they are no worse than with 2.9.7, and no real showstopper bugs have shown up on 2.10.0 apart from lots of leaking shares when the primary pool is getwork without rolltime (which pools are still that bad!?). So despite the fact that windows+stratum disconnect is still problematic, I am going to raise the status of 2.10.0 to stable since it is no worse than the 2.9 branch. The substantial changes in 2.10 were all actually in the scheduling of work and there has not been a significant bug there as far as I can tell.
I will continue to pursue these windows bugs till no one is mining on windows any more... uh I mean till hopefully I can find wtf is uniquely wrong on windows. I'm so annoyed that 99% of my debugging effort is now directed to windows specific issues that I find myself wishing that I had made cgminer linux only. I could probably develop cgminer much faster if it was possible to drop windows support. Of course that's crazy talk...</rant>
EDIT: Note I will likely be releasing 2.10.1 shortly anyway.
|
|
|
Bug report:
Not sure if there is a place I should report bugs or if this bug has been reported but I can't be bothered to find out so I figured reporting it here is better than nothing.
Bug: MH/s between GPU0 and GPU1 is flipped. Everything else is correctly matching the right GPU but apparently my 6950 is giving me 25MH/s and my 6450 is giving me 369MH/s. I upgraded from version 2.7.5 where this issue didn't exist. I have not tested just running one of my cards or with more than 2 cards. 6950 appears in the top line and 6450 appears in the bottom line. while the MH/s are reversed.
Setup: CGminer 2.9.7 Windows 8 GPU0 6950 unlocked xfx xxx GPU1 6450 gigabyte passive MSI motherboard with 2x pci-e 16x 8x 6950 in top slot
Coincidence related to something else maybe like a driver change. The GPU code hasn't been touched in any significant way in many months.
|
|
|
He stated earlier that he's using Gentoo (woohoo!).
AFAIK, there are no native cuda kernels for cgminer.
I thought there were *nix versions of those utilities. Didn't CGMiner used to have CUDA support?? Not that it matters this late in the game. The only openCL implementation for nvidia devices is through the cuda driver, meaning it goes cgminer->opencl->cuda->GPU. There is no way to do native cgminer->cuda->GPU. It's not at all worth it since the performance is identical, and they earn no money and GPU mining is on the way out. Throw me 1000 BTC and I'll make you a native cuda version, but it's not going to be of any advantage.
|
|
|
It would appear that the latest version of cgminer still has no provision for mining different devices as different usernames and I need to run multiple copies of cgminer to accomplish this. Is this understanding accurate?
That's correct.
|
|
|
Performance for me exactly like 2.9.x versions.
Which is good because that's what it's supposed to be. Performance with current hardware (i.e. no asics) should have maximised with stratum support already. The changes in 2.10 are for the future.
|
|
|
I tried the debugging-Version of cgminer.exe which ended with this Access Violation: cgminer.exe caused an Access Violation at location 65722074 Reading from location 65722074.
Registers: eax=00000000 ebx=0028fa58 ecx=74e92e09 edx=00000000 esi=00000002 edi=00000000 eip=65722074 esp=0028fa24 ebp=0028faa4 iopl=0 nv up ei pl nz na po nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010206
Call stack: 65722074 07F32A67 74FD1A2C kernel32.dll:74FD1A2C WaitForMultipleObjectsEx 74FD4220 kernel32.dll:74FD4220 WaitForMultipleObjects 6248320B pthreadGC2.dll:6248320B pthreadCancelableTimedWait
I guess this won't help you very much? I went back to Version 2.8.7 and it works like a charm on stratum... You only get a windows+stratum crash after 2.8.7?
|
|
|
I like the debug version of cgminer aimed to collect some info on crash. It doesn't crash There's an interesting thought, and it's not the first time this has been encountered - it could well be the optimised build that leads to crashes only.
|
|
|
I'm saw the same thing today, simultaneous crash on all rigs upon Stratum detection of a new block.
Thought it was Windo'hs Update at first, but that's disabled on rigs that still crashed.
Putting half the farm on 2.9.6 and half on 2.9.7-1 until it's sorted.
Yeah I noticed the same. All of mine crashed at the same time upon detection of a new block. BTW, thanks ckolivas for the debugger. I'll be sure to give that a go in case any of my rigs crash again. Sure. Unfortunately 9 times out of 10 I don't get useful information from windows crashes even with the debug version * ckolivas keeps wishing people would stop using the windows version knowing he may as well wish the sky weren't blue.
|
|
|
I have a bunch of modminers running on ubuntu and on the new version 2.10.0 the display is showing each fpga individually and I can't see all of them. Also the accept share display isn't showing due to the fact that there is to many devices. Is there anyway to fix this. Thanks.
compact mode, or use more remote monitoring with something like miner.php How do you run compact mode? I never had to use this option before. From the command line: --compact Use compact display without per device statistics Or from the menu while it's running, press D for display and you'll see it there. It does get rid of all the device stats tho.
|
|
|
I have a bunch of modminers running on ubuntu and on the new version 2.10.0 the display is showing each fpga individually and I can't see all of them. Also the accept share display isn't showing due to the fact that there is to many devices. Is there anyway to fix this. Thanks.
compact mode, or use more remote monitoring with something like miner.php
|
|
|
I've uploaded some fresh debug builds for windows here for those who want to try and help me get debug information: http://ck.kolivas.org/apps/cgminer/debug/These builds have optimisations disabled to hopefully try and get meaningful debug information out of them. It's annoying how hard windows builds are to debug... Oh and the libcurl dll included in the 2.10.0 archive is already one with the fix from 2.9.7 (even though it's a different size) so there's no point trying a different dll if you are getting crashes.
|
|
|
DrHaribo means cgminer doesn't change the time stamp with stratum, which it doesn't since I didn't see the point. Since most pools update stratum structures with a push every 30 seconds, the time can be out by 30 seconds. Compare with ntime rolling where it can be out by 2 hours... I didn't see much point in trying hard to get the time correct to within 1 second.
|
|
|
... cgminer times how long it takes for the gpu code to "return" after it's been given work. Unfortunately with windows, the timer resolution is so shithouse at 15ms that I have to sample many many iterations of the GPU code and then average them to see how long it took. ...
cklovias, there are several ways to overcome this drawback of the simple windows time functions. Probably the two easiest ways are using the code from this explanation http://msdn.microsoft.com/en-us/magazine/cc163996.aspx, or by using the .Net stopwatch class (for your code, you would have to call into a c++/cli dll wrapper around the class, then you have to deal with people needing the .Net framework installed too...maybe make it optional?) I like using dynamic on my main windows computer, but I have been sticking with 2.7.5 because it has better dynamic behaviour for me. I have just been thinking, 'oh well, make it until the ASICs come out and that's good enough!' Thanks for that but for such a convoluted process for the sake of one clock call when GPUs will be redundant in a couple of months seems a waste now - i.e. I'm not interested in developing in any significant fashion for GPUs any more. On the other hand, as you see from Kano's message, there are certainly other clock functions he implemented that suffer under windows that will be relevant to him.
|
|
|
You can still roll the time once per second, starting the second nonce field all over again. It really isn't going to be an issue unless some dramatic new technology that doesn't even exist yet is thought up and developed and manufactured and released in the decades ahead. Quantum computers anyone?
Why only once a second? An ASIC is going to run through all nonces in far less than a second - why can't it roll ntime rapidly at least for a few seconds? No one cares if ntime is exact to the second, as long as it's roughly right. You still haven't understood? To go through all the nonces with stratum currently as is, would require it to check 18,446,744,073,709,551,616 hashes. If that's not enough, you can just increase the size of nonce2 from 4 to 6 and get 1,208,925,819,614,629,174,706,176 hashes. This is without rolling the ntime at all. If that's not enough, rolling the ntime just once every second will give you 1,208,925,819,614,629,174,706,176 hashes per second.
|
|
|
I normally end up treating myself to a nice card for my gameing computer, After hours of looking through top titles to test the beast I normally end up playing minesweeper thinking well that was another smart purchase. That is one of the funniest posts I've read in a very long time
|
|
|
question on how cgminer figures intensity.
on dynamic with both 2.9.7.0/1 and 2.10.0 when I fire up folding@home on the cpu (which loads the 4 cores to 100%) cgminer drops intensity down to -8 or so on my 6870. stop folding and intensity goes to 4 or 5 where it should be.
cgminer times how long it takes for the gpu code to "return" after it's been given work. Unfortunately with windows, the timer resolution is so shithouse at 15ms that I have to sample many many iterations of the GPU code and then average them to see how long it took. This means that between giving the GPU code, there are short periods dependent on CPU code, and windows' scheduler does not seem to give this CPU code priority even though folding@home should be idle priority. So it ends up counting delays of the CPU scheduling as though the GPU had spent more time on its work. So it's a combination of the shit windows timer resolution and the shit windows scheduling that makes dynamic not work that well for your test case. I LOVE the stratum support! dunno how you do it but cgminer just keeps getting better!
Thanks
|
|
|
|