Bitcoin Forum
May 02, 2024, 09:32:52 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 [555] 556 557 558 559 560 561 562 563 564 565 566 567 568 569 »
11081  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 28, 2011, 09:58:22 AM
No more features for now. Just bug fixes till I return in 2 weeks' time. Plus features take time to implement, and I'll be giving priority to features requested by donors.
11082  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 28, 2011, 09:31:17 AM
I am giving cgminer a shot (from phoenix + smartcoin).  My initial impression is positive.  However, I am hesitant because I had modified phoenix to record in a sql database every time a share was submitted.  

So now I am thinking how I can do this with cgminer.  Coding in C to connect to a database is over my head, so I am going with a simpler solution.  

My first thought was to use the -T option and pipe it to python for processing.  This seems like it would work great.  However, I am greedy and would also like the curses interface.  Do you think you can add an option to direct status updates ([2011-07-27 18:05:05 Accepted xxxxxx GPU 1 thread 1 pool 0) to another stderr?  That way I could direct share submissions for sql processing, and still maintaining the stdout interface.

That is, unless you have a more elegant solution.

Excellent work so far.

Dan
It already works. Just pipe output from stderr and you get the curses interface _and_ the piped output.

This doesn't appear to be working for me.  I am redirecting (2> file.txt) but nothing is getting passed to that file.  
Enable verbose mode. I'll modify the next version to log even when verbose mode is off.
11083  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 28, 2011, 03:56:11 AM
It's the same phatk kernel. It looks different because of the interface to cgminer so you can't just swap it over. Perhaps you're using different parameters?
11084  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 27, 2011, 11:53:14 PM
Has anybody noticed the hashrate dying off after running for several hours? I've also noticed something that _might_ be related... Right after starting the debug display outputs a line or two every second. I usually go back to normal display if things are working and after a few new blocks are detected on the network I go to look at the debug display and now it's flying by super fast. It's almost as if something is looping an extra time (therefore hitting the debug output more often) after running for a while.

Anyway, thanks for coding this up. I'm going to scrape together a few bitpennies to donate. Smiley
Yes indeed, that's a bug! I'll fix it in the next version, and thanks very much Cheesy
11085  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 27, 2011, 11:44:31 PM
What about different worksizes for different GPUs, is this possible already, too?

Code:
-I 8 -d 0 -v 2 -w 128 -d 1 -v 2 -w 256
I'm afraid not.
11086  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 27, 2011, 11:38:50 PM
I am giving cgminer a shot (from phoenix + smartcoin).  My initial impression is positive.  However, I am hesitant because I had modified phoenix to record in a sql database every time a share was submitted. 

So now I am thinking how I can do this with cgminer.  Coding in C to connect to a database is over my head, so I am going with a simpler solution. 

My first thought was to use the -T option and pipe it to python for processing.  This seems like it would work great.  However, I am greedy and would also like the curses interface.  Do you think you can add an option to direct status updates ([2011-07-27 18:05:05 Accepted xxxxxx GPU 1 thread 1 pool 0) to another stderr?  That way I could direct share submissions for sql processing, and still maintaining the stdout interface.

That is, unless you have a more elegant solution.

Excellent work so far.

Dan
It already works. Just pipe output from stderr and you get the curses interface _and_ the piped output.
11087  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 27, 2011, 01:25:27 PM
New release: 1.5.1

Source:
http://ck.kolivas.org/apps/cgminer/cgminer-1.5.1.tar.bz2

Linux x86_64 dynamic binary:
http://ck.kolivas.org/apps/cgminer/cgminer-1.5.1-x86_64-built.tar.bz2

Win32 binary:
http://ck.kolivas.org/apps/cgminer/cgminer-1.5.1-win32.zip

This release is almost entirely bugfixes. Some minor, some major. I'm trying now to settle down to a solid stable release because I'll be leaving for a couple of weeks shortly and don't want to leave with code in a state of flux. See my kernel blog for a little more detail:

http://ck-hack.blogspot.com


The changes in this one were to improve dramatically the CPU mining splitting of work between threads to minimise the risk of generating stale or repeated work and to get a much work as possible out of it. This is done by using the original work item as a kind of "master DNA" where the extra work is copied from it, and the original work is flagged and pushed back to the top of the list of work to be done (so it doesn't sit around too long before being picked up). Also I've fixed the longstanding bug where it would crash on decreasing the size of the window on older operating systems (this was actually a libncurses bug and I've worked around it). There were some other bugs where it was possible where a hung GPU could take out the whole of cgminer because the thread restart code wouldn't restart properly. Also there was a very slight chance it would simply stop taking work after a longpoll. Also I tried to detect the version of libcurl it is being compiled against to prevent build failure (but as you can see in this forum, some older versions of libcurl still fail??). I improved the display options menu and fixed the invisible menu bug and did lots of other things... short changelog below.


- Two redraws in a row cause a crash in old libncurses so just do one redraw
using the main window.
- Don't adjust hash_div only up for GPUs. Disable hash_div adjustment for GPUs.
- Only free the thread structures if the thread still exists.
- Update both windows separately, but not at the same time to prevent the double
refresh crash that old libncurses has.     Do the window resize check only when
about to redraw the log window to minimise ncurses cpu usage.
- Abstract out the decay time function and use it to make hash_div a rolling
average so it doesn't change too abruptly and divide work in chunks large enough
to guarantee they won't overlap.
- Sanity check to prove locking.
- Don't take more than one lock at a time.
- Make threads report out when they're queueing a request and report if they've
failed.
- Make cpu mining work submission asynchronous as well.
- Properly detect stale work based on time from staging and discard instead of
handing on, but be more lax about how long work can be divided for up to the
scantime.
- Do away with queueing work separately at the start and let each thread grab
its own work as soon as it's ready.
- Don't put an extra work item in the queue as each new device thread will do so
itself.
- Make sure to decrease queued count if we discard the work.
- Attribute split work as local work generation.
- If work has been cloned it is already at the head of the list and when being
reinserted into the queue it should be placed back at the head of the list.
- Dividing work is like the work is never removed at all so treat it as such.
However the queued bool needs to be reset to ensure we *can* request more work
even if we didn't initially.
- Make the display options clearer.
- Add debugging output to tq_push calls.
- Add debugging output to all tq_pop calls.
11088  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 27, 2011, 10:55:14 AM
Pool Management of 1.5.0 is a no-go as far as I can tell.  Goes to black then resumes work.
Yes, known bug. It's there, it's just invisible Sad Wait till 1.5.1
11089  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 27, 2011, 10:54:44 AM
That part is an error secondary to the first one which is the sockopt function. What does that part of ./configure show for you?

Quote
checking for curl-config... /usr/bin/curl-config                                                                                                             
checking for the version of libcurl... 7.15.5                                                                                                                 
checking for libcurl >= version 7.10.1... yes                                                                                                                 
checking whether libcurl is usable... yes                                                                                                                     
checking for curl_free... yes                                                                                                                                 
checking for gawk... (cached) gawk                                                                                                                           
checking for curl-config... (cached) /usr/bin/curl-config                                                                                                     
checking for the version of libcurl... (cached) 7.15.5                                                                                                       
checking for libcurl >= version 7.15.6... (cached) yes                                                                                                       
checking whether libcurl is usable... (cached) yes                                                                                                           
checking for curl_free... (cached) yes
Well that's just ridiculous :\

It tests for version >= 7.15.6, finds version 7.15.5 ... and is happy???
11090  Bitcoin / Bitcoin Technical Support / Re: cgminer + phatk hardware errors on: July 27, 2011, 10:53:38 AM
I think you're grossly underestimating how much effect chance has on this. Even with a pool as large as btcguild with 3000Ghash, they can have days where their luck is down by as much as 40%! You simply cannot place value on the returned shares over 1500 shares in that way. My advice to you would be to do what you already know from advice is the right thing - decrease the frequency till the HW errors go away. I'm absolutely certain any difference you see in accepted rates between the different kernels is pure chance.
11091  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 27, 2011, 07:22:04 AM
1.5.0 works well.  I see you're using an approach similar to what I had suggested for the CPUminer.  The numbers are looking far more stable now and it's completing the work far more efficiently as predicted.  Kudos on getting the darn thing working.
Thanks. It's not entirely working as planned, but hopefully 1.5.1 will be working even better.
11092  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 26, 2011, 11:45:52 PM
Current git, I'm having issues with the curses display. Normal running is okay, but attempting to access any of the interactive options fails to have them drawn properly on the screen. It had worked with 1.4.1, but not in 1.5.0.

I can still press the appropriate key to access the appropriate function, but I never see the options. Example: I select [P]ool, the whole screen is redrawn, and the scroll portion goes blank. If I type "i" for info, it then prompts me what pool I want info for. However, then the screen redraws completely, and I'm given no info.
I'm aware of this, thanks. It was a half arsed attempt to fix the crash that old libcurls have when the display is refreshed twice in a row. I've pushed a change which should fix that just now.
11093  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 26, 2011, 10:05:41 PM
That part is an error secondary to the first one which is the sockopt function. What does that part of ./configure show for you?
This part:
checking for libcurl >= version 7.15.6... (cached) yes
11094  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 26, 2011, 09:36:07 PM
ck, on the other hand, your curl fix was incomplete, it still doesn't work with older curl:

Quote
util.c:254: error: expected declaration specifiers or '...' before 'curlsocktype'                                                                             
util.c: In function 'json_rpc_call':                                                                                                                         
util.c:348: error: 'CURLOPT_SOCKOPTFUNCTION' undeclared (first use in this function)                                                                         
util.c:348: error: (Each undeclared identifier is reported only once                                                                                         
util.c:348: error: for each function it appears in.)                                                                                                         
make[2]: *** [cgminer-util.o] Error 1                                                                                                                         
make[2]: *** Waiting for unfinished jobs....

I think you should ifdef this function too.
Really?

#ifdef CURL_HAS_SOCKOPT
   if (longpoll)
      curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, json_rpc_call_sockopt_cb);
#endif

It is...

What version of curl does that have? My code defines CURL_HAS_SOCKOPT only for versions of curl:
checking for libcurl >= version 7.15.6... (cached) yes

11095  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 26, 2011, 03:46:55 PM
- Try to do every curses manipulation under the curses lock.
Fabulous! This solved the segfault when attaching a running tmux session.
That's one down, thanks! Alas others have already told me they still get segfaults on resizing windows. I suspect since I'm not reproducing it on a more modern distro that it's something to do with the older ncurses library in the older distros.
Actually after searching, I found this:
http://davidben.net/blog/2010/05/03/barnowl-ncurses-and-terminal-resizing/

and it seems to indeed be a unique bug to older ncurses that is elicited by doing two redraws one after the other. So I changed that code at least and made it do only one main window redraw now (repackaged as the same 1.5.0 version quickly in the hope no one notices Wink

Anyway there will likely be a 1.5.1 just around the corner when I find what the cause of this rejects bug is... but first, sleep!
11096  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 26, 2011, 03:14:00 PM
- Try to do every curses manipulation under the curses lock.
Fabulous! This solved the segfault when attaching a running tmux session.
That's one down, thanks! Alas others have already told me they still get segfaults on resizing windows. I suspect since I'm not reproducing it on a more modern distro that it's something to do with the older ncurses library in the older distros.
11097  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 26, 2011, 03:07:27 PM
It seems there's a bug in 1.5.0 where every so often it will have regular rejects right from the start. Restarting it seems to make it go away (indefinitely), buto for the moment stick to 1.4.1 unless you're willing to experiment.
11098  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 26, 2011, 02:35:37 PM
New version: 1.5.0: UNSTABLE!

Source:
http://ck.kolivas.org/apps/cgminer/cgminer-1.5.0.tar.bz2

The two major new features in this version are the GPU thread management part of the menu that lets you selectively enable, disable and restart GPUs, and the split work for slow mining threads - This is designed mainly for CPU mining which can't complete searching a work item in the allocated time. cgminer will detect a thread that can't complete its work and will split it up into multiple parts, spreading it out in such a way that no two threads repeat the same work, but that the overall number of queued work items is lower. See the changelog for more details:


Changelog:

- Increase efficiency of slow mining threads such as CPU miners dramatically. Do
this by detecting which threads cannot complete searching a work item within the
scantime and then divide up a work item into multiple smaller work items.
Detect the age of the work items and if they've been cloned before to prevent
doing the same work over. If the work is too old to be divided, then see if it
can be time rolled and do that to generate work. This dramatically decreases the
number of queued work items from a pool leading to higher overall efficiency
(but the same hashrate and share submission rate).
- Don't request work too early for CPUs as CPUs will scan for the full
opt_scantime anyway.
- Simplify gpu management enable/disable/restart code.
- Implement much more accurate rolling statistics per thread and per gpu and
improve accuracy of rolling displayed values.
- Make the rolling log-second average more accurate.
- Add a menu to manage GPUs on the fly allowing you to enable/disable GPUs or
try restarting them.
- Keep track of which GPUs are alive versus enabled.
- Start threads for devices that are even disabled, but don't allow them to
start working.
- The last pool is when we are low in total_pools, not active_pools.
- Make the thread restart do a pthread_join after disabling the device, only
re-enabling it if we succeed in restarting the thread. Do this from a separate
thread so as to not block any other code.This will allow cgminer to continue
even if one GPU hangs.
- Try to do every curses manipulation under the curses lock.
- Only use the sockoptfunction if the version of curl is recent enough.
11099  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 25, 2011, 09:38:36 AM
can
--config|-c <arg>   Load a JSON-format configuration file
See example-cfg.json for an example configuration.
use url
Yes but only one pool per config file for the moment (use multiple -c configfile for multiple pools)
11100  Bitcoin / Mining software (miners) / Re: Official CGMINER thread - CPU/GPU miner in C for linux/windows/osx on: July 25, 2011, 05:58:39 AM
About running it:
You can run it remotely, but you need to export your X session with export DISPLAY=:0

The most common mode for failure to start is trying to do make install which will FAIL, followed by the wrong url or credentials.
Pages: « 1 ... 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 [555] 556 557 558 559 560 561 562 563 564 565 566 567 568 569 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!