cpu-miner.c


Log

Author Commit Date CI Message
ckolivas 2a7ac1bc 2011-06-14T14:09:10 Cope with older linux kernel headers that don't have the newer scheduling policies defined.
Jeff Garzik 994c700f 2011-06-09T03:47:07 Fix number-of-threads init logic on Windows
Jeff Garzik 0091c4e1 2011-06-08T22:30:10 only read processor count via sysconf on non-Windows platforms
ckolivas 8a832eea 2011-06-09T11:45:06 Linux + x86_64 optimisations. Add likely() macro. Optimise a few obvious code paths with likely/unlikely. Change algo to sse2_amd64 by default. Move priority change to worker threads only. Detect number of CPUs and set default number of threads == CPUs. Add scheduling policy change to worker threads to SCHED_IDLE first and fallback to SCHED_BATCH on linux. Don't error when failing to set priority. Add CPU affinity and bind worker threads to CPUs when number of threads is a multiple of number of CPUs. Update NEWS with changes.
Jeff Garzik 69529c38 2011-03-24T14:09:49 Support full URL, in X-Long-Polling header
Jeff Garzik 46819af3 2011-03-21T20:50:59 --user/--pass fixes Also, some newline fixes (applog callers do not need newlines in strings)
Jeff Garzik 81352ca4 2011-03-21T04:27:02 Support --user and --pass, as alternative to --userpass
Jeff Garzik 2fd9d544 2011-03-21T04:02:13 Convert remaining [f]print to applog(). Also, remove a few superfluous printouts.
Jeff Garzik 144cf62d 2011-03-21T03:45:26 Avoid potential for div-by-zero, when calculating max-nonce
Jeff Garzik d49d6392 2011-03-21T03:42:57 cpu-miner.c: Remove newline from applog() call
Jeff Garzik 24afd617 2011-03-18T17:24:16 Introduce more standardized logging (incl. optional syslog). Also, improve portability of alloca.
Jeff Garzik 7a87bee9 2011-03-18T02:53:13 Add long polling support
Jeff Garzik 6818c692 2011-03-17T23:22:10 Improve max nonce auto-adjustment with some basic algebra.
Jeff Garzik 2d49a9a5 2011-03-17T22:02:28 Introduce ability to interrupt hash scanners in the middle of scanning.
Jeff Garzik 0258fae4 2011-03-14T23:36:28 Fix Windows build, that broke with yasm integration
Jeff Garzik 4f7a51e9 2011-03-14T23:17:34 Move all RPC I/O to separate thread.
Mark Crichton 96d2287c 2011-03-05T22:22:57 X86_64 SSE2 support for Linux
Jeff Garzik 4a7f3f70 2011-02-17T01:58:53 Show date/time when proof-of-work is found.
Jeff Garzik fa7e80b8 2011-02-17T01:21:16 Extract get-work logic into separate function.
Jeff Garzik 6d288293 2011-02-13T03:04:02 Add support for JSON-format configuration file
Jeff Garzik c0935a94 2011-02-10T00:41:44 Re-use CURL object, thereby caching DNS and HTTP connections where possible.
Jeff Garzik e47076ca 2011-02-04T11:54:31 Fix max-nonce auto-adjustment logic to actually work
Jeff Garzik e8ee4cb0 2011-02-03T00:54:03 Add --retry-pause, to set length of pause time between failure retries
Jeff Garzik 714c0fd7 2011-02-03T00:46:55 Continue scanhash, even if high 32 bits are zero. Previously, we would stop the scan if the high 32 bits of the hash were zero, as a quick shortcut for testing the full hash. If this quick test succeeded, we would pass the work to the server for full validation. Change this logic to perform full validation inside minerd, so that work may be resumed more quickly if hash > target.
Jeff Garzik 453101d9 2011-01-29T23:55:11 Remove "PROOF OF WORK FOUND?" debug output; redundant.
Jeff Garzik f889476b 2011-01-29T01:14:12 Dynamically adjust time spent hashing current work unit, to meet target
Jeff Garzik 0b677407 2011-01-29T00:56:24 Pass max-nonce as arg to each sha256 algo. Should be an equivalent transformation, with no behavior changes.
Jeff Garzik f570ffcf 2011-01-29T00:47:48 Code movement: move second hash time sampling to main miner loop
Jeff Garzik e4117142 2011-01-29T00:28:19 Fix non-working short options -q and -r N, by listing them in optstring.
Jeff Garzik fc4ed179 2010-12-28T22:38:57 Release version 0.5.
Jeff Garzik 16006f90 2010-12-28T21:10:41 Rather than sleep-loop, main thread waits for all threads to exit.
Jeff Garzik 872211ca 2010-12-27T02:13:15 Add --quiet option, to disable hashmeter output.
Jeff Garzik d88648dd 2010-12-23T20:21:00 sha256_via: ensure that found nonce is copied back into output data buffer Also, some minor cleanups, removing unused args.
Jeff Garzik d363a1d6 2010-12-19T21:37:30 sha256_via: ensure proper data area is fully checksummed
Jeff Garzik ee592d0a 2010-12-18T22:22:06 Handle temporary JSON failures (due to server reboot, etc.)
Jeff Garzik 857ba8f6 2010-12-18T16:31:28 Release version 0.3.
Jeff Garzik ce1c9a8a 2010-12-06T20:21:22 Display version on minerd --help usage output.
Jeff Garzik f1fcd76b 2010-12-06T20:14:58 sha256_cryptopp: Add crypto++ 32-bit assembly implementation
Jeff Garzik 1a1a0186 2010-12-06T02:30:57 Release version 0.2.2. Remove 'experimental' marker from VIA padlock implementation.
Jeff Garzik 276dcdbc 2010-12-05T23:18:18 Avoid null deref in command line arg processing. Reported by lfm.
Jeff Garzik 145e5fe1 2010-11-29T12:21:03 submit_work: increase string buffer, to avoid overflow
Jeff Garzik 74bb1962 2010-11-28T20:16:22 Add Crypto++ sha256 implementation (C only, ASM elided for now)
Jeff Garzik 339ddf4d 2010-11-27T04:31:32 Move sha256_generic into its own .o build output. Const-ify midstate param.
Jeff Garzik 4c47553c 2010-11-27T03:50:52 Clean up multi-algorithm selection and display
Jeff Garzik e2eeaaf7 2010-11-27T01:29:56 Add experimental (read: probably broken) VIA padlock support.
Jeff Garzik 86eb37d6 2010-11-27T00:46:59 Improve and modularize compile-time CPU detection. Ideally, we should move this to autoconf.
Jeff Garzik 500759ce 2010-11-27T00:12:28 s/__SSE__/__SSE2__/
Jeff Garzik 2f2bf745 2010-11-26T23:16:38 Note that 4way is experimental
Jeff Garzik 35ea649d 2010-11-26T23:12:24 Improve hash performance statistics.
Jeff Garzik a50201eb 2010-11-26T20:15:07 Improve --help output. Mention --help in README.
Jeff Garzik 1f507438 2010-11-26T19:12:22 Correct -a command line help.
Jeff Garzik c6391499 2010-11-26T19:04:48 Add tcatm's 4way SSE2 sha256 implementation.
Jeff Garzik 0a333110 2010-11-26T16:28:12 Build on Windows using mingw32.
Jeff Garzik 352bab21 2010-11-26T15:50:36 Introduce compat.h, for Win32 builds
Jeff Garzik b7cc9b68 2010-11-26T15:46:11 Replace argp with getopt_long
Jeff Garzik 59f1fb2e 2010-11-26T15:20:54 Link with pthreads lib, if present. Remove GNU-specific asprintf usage.
Jeff Garzik 5d1a4529 2010-11-25T04:04:30 code movement: move submit_work() above hot path
Jeff Garzik 945be82e 2010-11-25T04:03:59 Move utility routines to util.c.
Jeff Garzik e4c4b3fe 2010-11-25T01:27:19 scanhash micro-optimizations * don't bother returning nonce, we only need success/fail boolean * don't needlessly read nonce pointer data, for each loop
Jeff Garzik 1032fec1 2010-11-25T01:16:34 Allocate work struct once, on stack, rather than alloc+free for each getwork.
Jeff Garzik a614823f 2010-11-25T01:02:53 Remove unused OpenSSL dependency. Also, turn a few strings into #define'd constants.
Jeff Garzik 23cd22a5 2010-11-25T00:49:39 RPC URL, username and password become arguments, rather than compile-time constants.
Jeff Garzik 67d3c913 2010-11-25T00:36:40 Small cleanups and comment additions. Don't sleep after proof of work found.
Jeff Garzik ea6c1126 2010-11-24T19:50:46 Add GPLv2 header.
Jeff Garzik 702e2ac8 2010-11-24T19:31:12 Convert over to autotools. Release version 0.1.
Jeff Garzik 19b51e36 2010-11-24T18:25:06 Clean up protocol debugging output, and other cleanups.
Jeff Garzik 5b0ab3cf 2010-11-24T15:39:37 Remove byte reversing in submit_work()
Jeff Garzik 89a05600 2010-11-24T05:55:56 Code movement. Update stats counter more frequently.
Jeff Garzik 5b6e9a92 2010-11-24T03:36:53 Add command line parsing, and multiple threads.
Jeff Garzik 45a29ac9 2010-11-24T02:11:59 Add timing info. Remove BIGNUM PoW checks.
Jeff Garzik 666af320 2010-11-24T01:19:47 Clean up proof-of-work checking, attempting to address find-solution-too-fast problem.
Jeff Garzik 16b535e2 2010-11-23T23:54:37 Add some code comments.
Jeff Garzik 9bc3649e 2010-11-23T23:43:45 Add README and license info.
Jeff Garzik 9599867d 2010-11-23T23:33:20 Initial revision of CPU miner. NOTE: non-functional (incorrectly thinks it finds solution, too quickly)