aboutsummaryrefslogtreecommitdiff
path: root/cpu-miner.c
AgeCommit message (Collapse)Author
2013-03-27Force work_restart to be 128-byte aligned.HEADcell-be-optimizationsDavid Barksdale
This fixes a bug on my system where mfc_get was failing on work_restart_pointer because it was not 128-byte aligned.
2011-12-31Set hashes_done variable to 0 in order not to confuse valgrindSiarhei Siamashka
This variable is set by SPU code, but valgrind can't see it and complains.
2011-12-29Added Cell/BE optimizationsSiarhei Siamashka
Linux on PS3 gets a huge boost in litecoin mining performance. Cell/BE support should be detected and enabled automatically by autotools. The miner threads are first allocated to the available SPU cores (typically 6). The remaining threads are allocated on PPU. There will be 8 threads total on PS3: 6 SPU threads and 2 PPU threads. Each SPU core provides ~5.4 khash/s if compiled with spu-elf-gcc 4.6 The performance may vary for different gcc versions, older ones are typically slower.
2011-12-29Use gcc vector extensions for SIMD scrypt key derivation functionSiarhei Siamashka
The code can be compiled for different architectures from the same source starting with gcc 4.7. But SSE2/Altivec/SPU targets have compatibility wrappers, which also allow the use of older versions of gcc. Two hashes are processed at the same time, so twice bigger scratch buffer is needed (~256K vs. ~128K). Speedup on Cell PPU (32-bit), single thread, 3.2GHz: ~0.58 khash/s -> ~1.79 khash/sec
2011-10-08Make scantime retargeting less granularcpumineArt Forz
2011-10-01Rip out sha256 algosArt Forz
2011-10-01Hopefully fix jansson compatiblityArt Forz
2011-09-26Tweaked to be slightly easier to use with Tenebrix, tested.Lolcust
2011-09-20add scrypt functionArt Forz
2011-06-14Cope with older linux kernel headers that don't have the newer scheduling ↵ckolivas
policies defined.
2011-06-09Fix number-of-threads init logic on WindowsJeff Garzik
2011-06-08only read processor count via sysconf on non-Windows platformsJeff Garzik
2011-06-09Linux + x86_64 optimisations.ckolivas
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-03-24Support full URL, in X-Long-Polling headerJeff Garzik
2011-03-21--user/--pass fixesJeff Garzik
Also, some newline fixes (applog callers do not need newlines in strings)
2011-03-21Support --user and --pass, as alternative to --userpassJeff Garzik
2011-03-21Convert remaining [f]print to applog().Jeff Garzik
Also, remove a few superfluous printouts.
2011-03-21Avoid potential for div-by-zero, when calculating max-nonceJeff Garzik
2011-03-21cpu-miner.c: Remove newline from applog() callJeff Garzik
2011-03-18Introduce more standardized logging (incl. optional syslog).Jeff Garzik
Also, improve portability of alloca.
2011-03-18Add long polling supportJeff Garzik
2011-03-17Improve max nonce auto-adjustment with some basic algebra.Jeff Garzik
2011-03-17Introduce ability to interrupt hash scanners in the middle of scanning.Jeff Garzik
2011-03-14Fix Windows build, that broke with yasm integrationJeff Garzik
2011-03-14Move all RPC I/O to separate thread.Jeff Garzik
2011-03-06X86_64 SSE2 support for LinuxMark Crichton
2011-02-17Show date/time when proof-of-work is found.Jeff Garzik
2011-02-17Extract get-work logic into separate function.Jeff Garzik
2011-02-13Add support for JSON-format configuration fileJeff Garzik
2011-02-10Re-use CURL object, thereby caching DNS and HTTP connections where possible.Jeff Garzik
2011-02-04Fix max-nonce auto-adjustment logic to actually workJeff Garzik
2011-02-03Add --retry-pause, to set length of pause time between failure retriesJeff Garzik
2011-02-03Continue scanhash, even if high 32 bits are zero.Jeff Garzik
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-01-29Remove "PROOF OF WORK FOUND?" debug output; redundant.Jeff Garzik
2011-01-29Dynamically adjust time spent hashing current work unit, to meet targetJeff Garzik
2011-01-29Pass max-nonce as arg to each sha256 algo.Jeff Garzik
Should be an equivalent transformation, with no behavior changes.
2011-01-29Code movement: move second hash time sampling to main miner loopJeff Garzik
2011-01-29Fix non-working short options -q and -r N, by listing them in optstring.Jeff Garzik
2010-12-28Release version 0.5.v0.5Jeff Garzik
2010-12-28Rather than sleep-loop, main thread waits for all threads to exit.Jeff Garzik
2010-12-27Add --quiet option, to disable hashmeter output.Jeff Garzik
2010-12-23sha256_via: ensure that found nonce is copied back into output data bufferJeff Garzik
Also, some minor cleanups, removing unused args.
2010-12-19sha256_via: ensure proper data area is fully checksummedJeff Garzik
2010-12-18Handle temporary JSON failures (due to server reboot, etc.)Jeff Garzik
2010-12-18Release version 0.3.v0.3Jeff Garzik
2010-12-06Display version on minerd --help usage output.Jeff Garzik
2010-12-06sha256_cryptopp: Add crypto++ 32-bit assembly implementationJeff Garzik
2010-12-06Release version 0.2.2.v0.2.2Jeff Garzik
Remove 'experimental' marker from VIA padlock implementation.
2010-12-05Avoid null deref in command line arg processing.Jeff Garzik
Reported by lfm.
2010-11-29submit_work: increase string buffer, to avoid overflowJeff Garzik