aboutsummaryrefslogtreecommitdiff
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.
2012-02-21Initial partial conversion to SPU assemblySiarhei Siamashka
Only the first loop is converted. The performance is increased up to ~5.97 khash/sec per SPE core. TODO: try to update it to use better data layout and more unrolling from shakti's variant.
2012-02-20CURLOPT_NOSIGNAL fix (borrowed from pooler's code)Siarhei Siamashka
Prevents the miner from eventually abnormally terminating due to curl misbehaviour.
2012-01-01Fix strict aliasing problemsSiarhei Siamashka
Currently the cast between uint32_t and uint64_t pointers breaks strict aliasing rules and needs -fno-strict-aliasing option as a workaround, otherwise the code gets miscompiled. But -fno-strict-aliasing can seriously inhibit optimization possibilities. For example, performance of 1 thread on Cell PPU (using Altivec instructions): CFLAGS="-O3 -mcpu=cell -fno-strict-aliasing" - 1.79 khash/sec CFLAGS="-O3 -mcpu=cell -fstrict-aliasing" - 2.60 khash/sec
2012-01-01Use the SHA256 code tweaked by poolerSiarhei Siamashka
Because the data endiannes has changed (native instead of little endian) and also SHA256 functions arguments are now different, this required lots of changes all over the place. Improves Altivec performance on Cell PPU from ~3.4 khash/s to ~3.6 khash/s (two threads). Seems to have no effect on SPU performance though.
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-12-29SHA256 code moved to a separate header fileSiarhei Siamashka
2011-12-22Fix big endian bugsSiarhei Siamashka
Now it seems to work correctly and provide performance ~0.58 khash/s per thread on Cell PPU.
2011-12-22Unmangle scrypt.c (revert to cd0b57640c0de03ac23bc965649d4085b1a2556a)Siarhei Siamashka
The mangled scrypt.c from Art Forz is too much broken on big endian systems. Revert it back to something that is more maintainable.
2011-10-08Make scantime retargeting less granularcpumineArt Forz
2011-10-06Rearrange order of operations in scrypt salsa20Art Forz
3.73kH/s/core on a 3.6GHz PhenomII compiled with gcc 4.6.1 and CFLAGS="-march=amdfam10 -O3"
2011-10-06Mangle scrypt some moreArt Forz
3.62kH/s/core on a 3.6GHz PhenomII compiled with gcc 4.6.1 and CFLAGS="-march=amdfam10 -O3"
2011-10-01Rip out sha256 algosArt Forz
2011-10-01Hopefully fix jansson compatiblityArt Forz
2011-10-01Horribly mangle scrypt.cArt Forz
amd64 linux speedup from 2.02 to 2.67 kH/s with default options, from 2.59 to 3.24kH/s with -O3
2011-10-01Unbreak longpolling for scryptArt Forz
2011-09-26Tweaked to be slightly easier to use with Tenebrix, tested.Lolcust
2011-09-20add scrypt functionArt Forz
2011-06-14Version 1.0.2.v1.0.2Jeff Garzik
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-08Merge pull request #22 from chrissicool/masterJeff Garzik
Fix include path of libcurl headers
2011-06-08Merge pull request #23 from ckolivas/masterJeff Garzik
Here's my x86_64 and linux optimisations. Hopefully shouldn't break other OSs now.
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-06-09configure.ac: Beautify yasm test outputChristian Ludwig
2011-06-08Fix libcurl include pathChristian Ludwig
Fix the include path for libcurl, if it was installed in a location where gcc does not look by default. The variable is declared in the LIBCURL_CHECK_CONFIG m4 macro.
2011-05-14Version 1.0.1.v1.0.1Jeff Garzik
2011-05-10Merge pull request #17 from metonymous/masterJeff Garzik
OSX CPU Support
2011-05-11OSX SupportGlenn Francis Murray
Derived from xorg source http://cgit.freedesktop.org/xorg/xserver/tree/GL/glx/glxbyteorder.h?id=cdf6b15f039c4905d8d54152153b0a3ecd7aba55;id2=415e49b940bba2d08870db410ebb47d2add5d836
2011-05-09Version 1.0.v1.0Jeff Garzik
2011-05-09jansson 2.x compatibilityJeff Garzik
2011-04-11util: correct off-by-one in month displayJeff Garzik
2011-04-11Proper platform detection.fleger
Use target instead of host. Fix compilation for non win32 and non x86_64 platforms.
2011-04-07configure.ac: improve has_yasm testJeff Garzik
2011-03-24Support full URL, in X-Long-Polling headerJeff Garzik
2011-03-22Release version 0.8.1.v0.8.1Jeff Garzik
2011-03-22Add User-Agent header to each HTTP requestJeff Garzik
2011-03-21--user/--pass fixesJeff Garzik
Also, some newline fixes (applog callers do not need newlines in strings)
2011-03-21example-cfg.json: remove extraneous commas, which broke JSON decodeJeff Garzik
Spotted by lfm
2011-03-21Release version 0.8.v0.8Jeff Garzik
2011-03-21Update example JSON configJeff Garzik
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-20Ensure cpuminer-config.h is universally included, in *.c and *.h alike.Jeff Garzik
In miner.h, this fixes an alloca-definition-related warning. For the other files, this is simply future-proofing/precaution.
2011-03-18Introduce more standardized logging (incl. optional syslog).Jeff Garzik
Also, improve portability of alloca.