Commit graph

44 commits

Author SHA1 Message Date
pooler
ed3d1c94f9 Reimplement SHA-256d 2012-03-21 23:07:56 +01:00
pooler
b961766f4d Move SHA-2 code to separate files 2012-03-12 13:32:11 +01:00
pooler
40fc3d06f9 Minor cleanups 2012-03-10 23:29:11 +01:00
pooler
c96b468d1c Keep work data in host byte order 2012-03-10 13:37:33 +01:00
pooler
e560d53b76 Add 4-way SHA-256 implementation for x86-64 2012-02-28 18:10:26 +01:00
pooler
1f15a1f672 Add proxy support 2012-02-26 01:34:58 +01:00
pooler
d26b0d8b81 Version 2.1.2
- Do not submit work that is known to be stale
- Allow miner threads to ask for new work if the current one is at least
  45 seconds old and long polling is enabled
- Refresh work when long polling times out
- Modify x86-64 code to make it compatible with older versions of
  binutils
2012-01-26 14:31:07 +01:00
pooler
14f953e0f8 Handle network errors properly 2012-01-21 00:31:51 +01:00
pooler
0426d3ace0 Drastically increase getwork efficiency 2012-01-19 16:25:01 +01:00
pooler
36225b4206 Some more optimization 2011-12-24 12:22:06 +01:00
pooler
45024f12f1 Add configurable timeout 2011-12-04 22:55:30 +01:00
Art Forz
383482e0a6 Rip out sha256 algos 2011-10-01 13:20:36 +02:00
Art Forz
ac92e27c8e add scrypt function 2011-09-20 12:20:26 +02:00
ckolivas
8a832eeab5 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.
2011-06-09 11:45:06 +10:00
Glenn Francis Murray
180b99f2d9 OSX Support
Derived from xorg source
http://cgit.freedesktop.org/xorg/xserver/tree/GL/glx/glxbyteorder.h?id=cdf6b15f039c4905d8d54152153b0a3ecd7aba55;id2=415e49b940bba2d08870db410ebb47d2add5d836
2011-05-11 04:41:11 +10:00
Jeff Garzik
2fd9d54443 Convert remaining [f]print to applog().
Also, remove a few superfluous printouts.
2011-03-21 04:02:13 -04:00
Jeff Garzik
23e9cf91f0 Ensure cpuminer-config.h is universally included, in *.c and *.h alike.
In miner.h, this fixes an alloca-definition-related warning.

For the other files, this is simply future-proofing/precaution.
2011-03-20 22:44:25 -04:00
Jeff Garzik
24afd61775 Introduce more standardized logging (incl. optional syslog).
Also, improve portability of alloca.
2011-03-18 17:24:16 -04:00
Jeff Garzik
7a87bee999 Add long polling support 2011-03-18 02:53:13 -04:00
Jeff Garzik
33e5b54928 miner.h: pad out work_restart to max likely cache line size 2011-03-17 23:19:43 -04:00
Jeff Garzik
2d49a9a5d7 Introduce ability to interrupt hash scanners in the middle of scanning. 2011-03-17 22:02:28 -04:00
Jeff Garzik
0258fae450 Fix Windows build, that broke with yasm integration 2011-03-14 23:36:28 -04:00
Jeff Garzik
4f7a51e9ed Move all RPC I/O to separate thread. 2011-03-14 23:17:34 -04:00
Jeff Garzik
6b19b15aa9 Fix warnings in sse2_64 implementation. 2011-03-07 00:23:12 -05:00
Mark Crichton
96d2287c72 X86_64 SSE2 support for Linux 2011-03-06 23:49:00 -05:00
Jeff Garzik
1083e15c47 Mark hash success as unlikely, using __builtin_expect() intrinsic 2011-02-17 01:22:55 -05:00
Jeff Garzik
9f3472ad19 Use bswap_32 from byteswap.h, if __builtin_bswap() is not available 2011-02-10 00:52:22 -05:00
Jeff Garzik
c0935a9489 Re-use CURL object, thereby caching DNS and HTTP connections where possible. 2011-02-10 00:41:44 -05:00
Jeff Garzik
714c0fd7c9 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.
2011-02-03 00:46:55 -05:00
Jeff Garzik
c68ffb30dd Display proof-of-work hash when one is discovered 2011-02-02 18:47:04 -05:00
Jeff Garzik
0b67740707 Pass max-nonce as arg to each sha256 algo.
Should be an equivalent transformation, with no behavior changes.
2011-01-29 00:56:24 -05:00
Jeff Garzik
a296799358 Replace ___constant_swab32() with gcc's __builtin_bswap32
http://www.bitcoin.org/smf/index.php?topic=1925.msg34827#msg34827

Credit: lfm
2011-01-29 00:41:27 -05:00
Jeff Garzik
970e74c07d Move 32-bit swap code into miner.h, for sharing. 2010-12-26 23:37:58 -05:00
Jeff Garzik
d88648dd39 sha256_via: ensure that found nonce is copied back into output data buffer
Also, some minor cleanups, removing unused args.
2010-12-23 20:21:00 -05:00
Jeff Garzik
f1fcd76ba7 sha256_cryptopp: Add crypto++ 32-bit assembly implementation 2010-12-06 20:14:58 -05:00
Jeff Garzik
74bb196296 Add Crypto++ sha256 implementation (C only, ASM elided for now) 2010-11-28 20:16:22 -05:00
Jeff Garzik
339ddf4d75 Move sha256_generic into its own .o build output. Const-ify midstate param. 2010-11-27 04:31:32 -05:00
Jeff Garzik
4da2e4fbe2 miner.h: include sys/time.h for struct timeval definition 2010-11-27 01:59:03 -05:00
Jeff Garzik
e2eeaaf75b Add experimental (read: probably broken) VIA padlock support. 2010-11-27 01:29:56 -05:00
Jeff Garzik
86eb37d631 Improve and modularize compile-time CPU detection.
Ideally, we should move this to autoconf.
2010-11-27 00:46:59 -05:00
Jeff Garzik
35ea649d97 Improve hash performance statistics. 2010-11-26 23:12:24 -05:00
Jeff Garzik
c639149977 Add tcatm's 4way SSE2 sha256 implementation. 2010-11-26 19:04:48 -05:00
Jeff Garzik
b7cc9b68ad Replace argp with getopt_long 2010-11-26 15:46:11 -05:00
Jeff Garzik
945be82ea1 Move utility routines to util.c. 2010-11-25 04:03:59 -05:00