mirror of
https://github.com/JayDDee/cpuminer-opt.git
synced 2025-09-17 23:44:27 +00:00
1730 lines
50 KiB
Plaintext
1730 lines
50 KiB
Plaintext
cpuminer-opt is a console program run from the command line using the
|
|
keyboard, not the mouse.
|
|
|
|
See also README.md for list of supported algorithms,
|
|
|
|
Security warning
|
|
----------------
|
|
|
|
Miner programs are often flagged as malware by antivirus programs. This is
|
|
usually a false positive, they are flagged simply because they are
|
|
cryptocurrency miners. However, some malware masquerading as a miner has
|
|
been spread using the cover that miners are known to be subject to false
|
|
positives ans users will dismiss the AV alert. Always be on alert.
|
|
The source code of cpuminer-opt is open for anyone to inspect.
|
|
If you don't trust the software don't download it.
|
|
|
|
The cryptographic hashing code has been taken from trusted sources but has been
|
|
modified for speed at the expense of accepted security practices. This
|
|
code should not be imported into applications where secure cryptography is
|
|
required.
|
|
|
|
Compile Instructions
|
|
--------------------
|
|
|
|
See INSTALL_LINUX or INSTALL_WINDOWS for compile instructions
|
|
|
|
Requirements
|
|
------------
|
|
|
|
- A x86_64 architecture CPU with a minimum of SSE2 support. This includes Intel Core2 and newer and AMD equivalents.
|
|
- Arm CPU supporting AArch64 and NEON.
|
|
|
|
32 bit CPUs are not supported.
|
|
|
|
Older CPUs are supported by open source cpuminer-multi by TPruvot but at reduced performance.
|
|
|
|
Mining on mobile devices that meet the requirements is not recommended due to the risk of
|
|
overheating and damaging the battery. Mining has unlimited demand, it will push any device
|
|
to or beyond its limits. There is also a fire risk with overheated lithium batteries.
|
|
|
|
Beware of apps claiming "mobile only mining". There is no such thing, they aren't miners.
|
|
If a mobile CPU can mine it any CPU can.
|
|
|
|
See wiki for details.
|
|
|
|
Reporting bugs
|
|
--------------
|
|
|
|
Bugs can be reported by sending am email to JayDDee246@gmail.com or opening
|
|
an issue in git: https://github.com/JayDDee/cpuminer-opt/issues
|
|
|
|
Please include the following information:
|
|
|
|
1. CPU model, operating system, cpuminer-opt version (must be latest),
|
|
binary file for Windows, changes to default build procedure for Linux.
|
|
|
|
2. Exact command line (except user and pw) and intial output showing
|
|
the above requested info.
|
|
|
|
3. Additional program output showing any error messages or other
|
|
pertinent data.
|
|
|
|
4. A clear description of the problem including history, scope,
|
|
persistence or intermittance, and reproduceability.
|
|
|
|
In simpler terms:
|
|
|
|
What is it doing?
|
|
What should it be doing instead?
|
|
Did it work in a previous release?
|
|
Does it happen for all algos? All pools? All options? Solo?
|
|
Does it happen all the time?
|
|
If not what makes it happen or not happen?
|
|
|
|
Change Log
|
|
----------
|
|
|
|
v25.1
|
|
|
|
MacOS ARM64: m7m algo is now working.
|
|
MacOS ARM64: can now be compiled with GCC.
|
|
MacOS x86_64: is now working compiled with GCC.
|
|
Fixed some minor bugs & removed some obsolete code.
|
|
|
|
v24.8
|
|
|
|
ARM: Apple MacOS on M series CPU is now supported compiled from source
|
|
code, see Wiki for details.
|
|
ARM: Fix incorrect compiler version display when using clang.
|
|
build.sh can now be used to compile all targets, arm_build.sh & build_msys2.sh
|
|
have been removed.
|
|
Windows: MSys2 build now enables CPU groups by default, prebuilt binaries
|
|
continue to be compiled with CPU groups disabled.
|
|
|
|
v24.7
|
|
|
|
ARM: compile works for Windows using MSys2 & MingW, see wiki for details.
|
|
|
|
v24.6
|
|
|
|
ARM: Fixed scryptn2, x16*, broken in v24.2.
|
|
ARM: Small improvement to interleaving.
|
|
Eliminated some potential compile errors in code that was dependent on
|
|
compiler optimisations.
|
|
x86_64: improved support for AVX10 compilation, needs GCC-14 or higher.
|
|
|
|
v24.5
|
|
|
|
Fix MinGW compile error after MSys2 upgrade to GCC-14.2.
|
|
#427: GBT: Improved handling of new work.
|
|
Removed shavite3 algo.
|
|
|
|
v24.4
|
|
|
|
x86_64: fixed a bug in ornot macro for AVX2 which broke some algos in v24.2.
|
|
x86_64: fixed a bug in alignr macros for SSE2.
|
|
ARM: CPU feature reporting enhancements.
|
|
Some code cleanup.
|
|
|
|
v24.3
|
|
|
|
ARM: CPU feature detection and reporting is now working.
|
|
ARM: Verthash is now working.
|
|
ARM: Small speedup for yescrypt, yespower & argon2d.
|
|
Code cleanup.
|
|
|
|
v24.2
|
|
|
|
x86_64: Fixed blakes2s for AVX2 & AVX512, x25x for AVX512, broken in v3.23.4.
|
|
x86_64: Initial support for CPUs with AVX10, needs GCC-14.
|
|
ARM NEON: Various code optimisations.
|
|
|
|
v24.1
|
|
|
|
#414: fix bug in merkle error handling.
|
|
#416: change $nproc to $(nproc) in build scripts.
|
|
#420: change some inline function definitions to static inline.
|
|
#413: Fix formatting error for share result log when using no-color.
|
|
Faster 2 way interleaving.
|
|
Cleanup sha256 architecture targetting.
|
|
|
|
v23.15
|
|
|
|
Fixed x11gost (sib) algo for all architectures, broken in v3.23.4.
|
|
ARM: Fugue AES optimizations enabled.
|
|
ARM: quark, qubit, x11gost algos optimized with NEON & AES.
|
|
|
|
v23.14
|
|
|
|
ARM: Groestl AES optimizations enabled.
|
|
All: Small optimization to Shabal 4way.
|
|
x86_64: Extend Shabal 4way support to SSE2 from SSE4.1.
|
|
All: deleted some unused files.
|
|
|
|
v23.13
|
|
|
|
Added x20r algo.
|
|
Eliminated redundant hash order calculations for x16r family.
|
|
|
|
v23.12
|
|
|
|
Several bugs fixes and speed improvements for x16r family for all CPU architectures.
|
|
|
|
v23.11
|
|
|
|
This is a release candidate for full AArch64 support, marking the end of the Beta phase.
|
|
Fixed hmq1725 & x25x algos, SSE2 & NEON, broken in v3.23.4.
|
|
Most CPU-mineable SHA3 algos (X*) upgraded to 2-way SSE2 & NEON.
|
|
|
|
v23.10
|
|
|
|
x86_64: Fixed scrypt, scryptn2 algos SSE2.
|
|
Fixed sha512256d algo AVX2, SSE2, NEON.
|
|
Fixed a bug in Skein N-way that reduced performance.
|
|
ARM: Skein optimized for NEON, SHA2 & SSE2.
|
|
Skein2 algo 2-way optimized for NEON & SSE2.
|
|
|
|
v23.9
|
|
|
|
x86_64: fixed minotaurx crash, broken in 23.7.
|
|
ARM: #407 fix compile error due to incorrect type casting for vrev instruction argument.
|
|
|
|
v23.8
|
|
|
|
Cpuminer-opt is no longer dependant on OpenSSL.
|
|
Removed Hodl algo.
|
|
Removed legacy Sha256 & Scrypt ASM code.
|
|
ARM: Echo AES is working and enabled for x17.
|
|
|
|
v23.7
|
|
|
|
Fixed blakes2s, broken in v3.23.4.
|
|
ARM: SHA2 extension tested and working.
|
|
ARM: sha512256d fully optimized.
|
|
ARM: X17 more optimizations.
|
|
ARM: AES extension working for Shavite.
|
|
ARM errata: CPU features AES & SHA256 are not reported when available.
|
|
|
|
v23.6
|
|
|
|
ARM: Sha256dt, Sha256t, Sha256d 4-way now working and fully optimized for NEON, SHA also enabled but untested.
|
|
x86: Sha256dt, Sha256t, Sha256d faster SSE2 4-way.
|
|
ARM: Scrypt, Scryptn2 fully optimized for NEON, SHA also enabled but untested.
|
|
Linux: added a log when miner is started as root to discourage doing so.
|
|
|
|
v23.5
|
|
|
|
New version numbering drops the leading 3, the major version will now be the calendar year, the minor version identifies planned releases during the year.
|
|
|
|
BETA: 64 bit ARM support
|
|
- ARM 64 bit CPUs are now supported with source code for Linux. Windows is not supported.
|
|
- NEON, AES & SHA2 are supported.
|
|
- This the first public release and is early Beta quality.
|
|
- Some algorithms do not work on ARM or work at reduced performance.
|
|
See wiki for details: https://github.com/JayDDee/cpuminer-opt/wiki/Support-for-AArch64.
|
|
|
|
- CPU archtecture and OS detection and logging now support ARM features.
|
|
- New 2way parallel hash for ARM also helps x86_64 CPUs without AVX2 on supported algorithms.
|
|
- Enhanced startup feature logs to support ARM.
|
|
- Removed startup logs for incompatible CPU/SW architectures.
|
|
- Added CPU architecture & OS type to RPC user agent string.
|
|
- Added share reject controls, a warning log is displayed at 10% reject rate, the miner exits with an error log at 50%.
|
|
- Removed argon2 algorithm.
|
|
- New CLI option "--bell" adds an ASCII bell code in the output string of error, warning, & rejected share logs. The option is disabled by default.
|
|
|
|
v3.23.4
|
|
|
|
Source code only.
|
|
|
|
Initial experimental support for ARM AArch64 with NEON, SHA2 & AES.
|
|
Arm support is considered alpha quality, use at your own risk.
|
|
x86_64 is unaffected.
|
|
|
|
v3.23.3
|
|
|
|
#402: Windows binaries package rebuilt with openssl v1.1.1w (libcrypto-1_1-x64.dll).
|
|
|
|
#400: Removed excessive thread restarts when mining solo.
|
|
Fixed build_msys2.sh for gcc-13 by removing unsupported option "--param=evrp-mode=legacy" from CFLAGS.
|
|
Added CPUID detection and reporting of CPUs and SW builds supporting SHA512 extension.
|
|
Added prototype of sha-512 using SHA512 intrinsics, untested.
|
|
Other improvements and code cleanup.
|
|
|
|
v3.23.2
|
|
|
|
sha256dt, sha256t & sha256d +10% with SHA, small improvement with AVX2.
|
|
Other small improvements and code cleanup.
|
|
|
|
v3.23.1
|
|
|
|
#349: Fix sha256t low difficulty shares and low effective hash rate.
|
|
Faster sha256dt: AVX512 +7%, SHA +200%, AVX2 +5%.
|
|
Faster blakecoin & vanilla: AVX2 +30%, AVX512 +110%.
|
|
Other small improvements and code cleanup.
|
|
|
|
v3.23.0
|
|
|
|
#398: Prevent GBT fallback to Getwork on network error.
|
|
#398: Prevent excessive logs when conditional mining is paused when mining solo.
|
|
Fix a false start if stratum doesn't immediately send a new job after connecting.
|
|
Tweak diagonal shuffle in Blake2b & Blake256 1-way SIMD to reduce latency.
|
|
CPUID support for AVX10.
|
|
Initial changes to AVX2 targeted code in preparation for AVX10.
|
|
Code cleanup and miscellaneous small improvements.
|
|
|
|
v3.22.3
|
|
|
|
Data interleaving and byte swap optimizations with AVX2, AVX512 & AVX512VBMI.
|
|
Faster Luffa with AVX2 & AVX512.
|
|
Other small optimizations.
|
|
Some code cleanup.
|
|
|
|
v3.22.2
|
|
|
|
Added sha512256d & sha256dt algos.
|
|
Fixed intermittant invalid shares lyra2v2 AVX512.
|
|
Removed application limits on the number of CPUs and threads, HW and OS limits still apply.
|
|
Added a log warning if more threads are defined than active CPUs in affinity mask.
|
|
Improved merkle tree memory management for stratum.
|
|
Added transaction count to New Work log.
|
|
Other small improvements.
|
|
|
|
v3.22.1
|
|
|
|
#393 fixed segfault in GBT, regression from v3.22.0.
|
|
More efficient 32 bit data interleaving.
|
|
|
|
v3.22.0
|
|
|
|
Stratum: faster netdiff calculation.
|
|
Merged a few updates from Pooler/cpuminer:
|
|
Use CURLOPT_POSTFIELDS in json_rpc_call,
|
|
Use CURLINFO_ACTIVESOCKET when supported,
|
|
JSONRPC speedup,
|
|
Speed up hex2bin function.
|
|
Small log improvements, notably more frequent hash rate reports.
|
|
Removed decred algo.
|
|
|
|
v3.21.5
|
|
|
|
All issues with v3.21.3 & v3.21.4 should be resolved.
|
|
Changes since v3.21.2:
|
|
#392 #379 #389 Fixed misaligned address segfault solo mining.
|
|
#392 Fixed stats for myr-gr algo, and a few others, for CPUs without AVX2.
|
|
#392 Fixed conditional mining.
|
|
#392 Fixed cpu affinity on Ryzen CPUs using Windows binaries,
|
|
Windows binaries no longer support CPU groups,
|
|
Windows binaries support CPUs with up to 64 threads.
|
|
Small optimizations to serialized vectoring.
|
|
|
|
v3.21.4 CANCELLED
|
|
|
|
Reapply selected changes from v3.21.3.
|
|
#392 #379 #389 Fixed misaligned address segfault solo mining.
|
|
#392 Fixed conditional mining.
|
|
#392 Fixed cpu affinity on Ryzen CPUs using Windows binaries,
|
|
Windows binaries no longer support CPU groups,
|
|
Windows binaries support CPUs with up to 64 threads.
|
|
|
|
v3.21.3.1 UNRELEASED
|
|
|
|
Revert to 3.21.2
|
|
|
|
v3.21.3 CANCELLED
|
|
|
|
#392 #379 #389 Fixed misaligned address segfault solo mining.
|
|
#392 Fixed stats for myr-gr algo, and a few others, for CPUs without AVX2.
|
|
#392 Fixed conditional mining.
|
|
#392 Fixed cpu affinity on Ryzen CPUs using Windows binaries,
|
|
Windows binaries no longer support CPU groups,
|
|
Windows binaries support CPUs with up to 64 threads.
|
|
Midstate prehash is now centralized, done only once instead of by every thread
|
|
for selected algos.
|
|
Small optimizations to serialized vectoring.
|
|
|
|
v3.21.2
|
|
|
|
Faster SALSA SIMD shuffle for yespower, yescrypt & scryptn2.
|
|
Fixed a couple of compiler warnings with gcc-12.
|
|
|
|
v3.21.1
|
|
|
|
Fixed a segfault in some obsolete algos.
|
|
Small optimizations to Hamsi & Shabal AVX2 & AVX512.
|
|
|
|
v3.21.0
|
|
|
|
Added minotaurx algo for stratum only.
|
|
Blake256 & sha256 prehash optimized to ignore zero-padded data for AVX2 & AVX512.
|
|
Other small improvements.
|
|
|
|
v3.20.3
|
|
|
|
Faster c11 algo: AVX512 6%, AVX2 4%, AVX2+VAES 15%.
|
|
Faster AVX2+VAES for anime 14%, hmq1725 6%.
|
|
Small optimizations to Luffa AVX2 & AVX512.
|
|
|
|
v3.20.2
|
|
|
|
Bit rotation optimizations to Blake256, Blake512, Blake2b, Blake2s & Lyra2-blake2b for SSE2 & AVX2.
|
|
Removed old unused yescrypt library and other unused code.
|
|
|
|
v3.20.1
|
|
|
|
sph_blake2b optimized 1-way SSSE3 & AVX2.
|
|
Removed duplicate Blake2b used by Power2b algo, will now use optimized sph_blake2b.
|
|
Removed imprecise hash & target display from rejected share log.
|
|
Share and target difficulty is now displayed only for low difficulty shares.
|
|
Updated configure.ac to check for AVX512 asm support.
|
|
Small optimization to Lyra2 SSE2.
|
|
|
|
v3.20.0
|
|
|
|
#375 Fixed segfault in algos using Groestl VAES due to use of uninitialized data.
|
|
|
|
v3.19.9
|
|
|
|
More Blake256, Blake512, Luffa & Cubehash prehash optimizations.
|
|
Relaxed some excessively strict data alignment that was negatively affecting performance.
|
|
|
|
v3.19.8
|
|
|
|
#370 "stratum+ssl", in addition to "stratum+tcps", is now recognized as a valid
|
|
url protocol specifier for requesting a secure stratum connection.
|
|
The full url, including the protocol, is now displayed in the stratum connect
|
|
log and the periodic summary log.
|
|
Small optimizations to Cubehash, AVX2 & AVX512.
|
|
Byte order and prehash optimizations for Blake256 & Blake512, AVX2 & AVX512.
|
|
|
|
v3.19.7
|
|
|
|
#369 Fixed time limited mining, --time-limit.
|
|
Fixed a potential compile error when using optimization below -O3.
|
|
|
|
v3.19.6
|
|
|
|
#363 Fixed a stratum bug where the first job may be ignored delaying start of hashing
|
|
Fixed handling of nonce exhaust when hashing a fast algo with extranonce disabled
|
|
Small optimization to Shavite.
|
|
|
|
v3.19.5
|
|
|
|
Enhanced stratum-keepalive preemptively resets the stratum connection
|
|
before the server to avoid lost shares.
|
|
Added build-msys2.sh shell script for easier compiling on Windows, see Wiki for details.
|
|
X16RT: eliminate unnecessary recalculations of the hash order.
|
|
Fix a few compiler warnings.
|
|
Fixed log colour error when a block is solved.
|
|
|
|
v3.19.4
|
|
|
|
#359: Fix verthash memory allocation for non-hugepages, broken in v3.19.3.
|
|
New option stratum-keepalive prevents stratum timeouts when no shares are
|
|
submitted for several minutes due to high difficulty.
|
|
Fixed a bug displaying optimizations for some algos.
|
|
|
|
v3.19.3
|
|
|
|
Linux: Faster verthash (+25%), scryptn2 (+2%) when huge pages are available.
|
|
Small speed up for Hamsi AVX2 & AVX512, Keccak AVX512.
|
|
|
|
v3.19.2
|
|
|
|
Fixed log displaying incorrect memory usage for scrypt, broken in v3.19.1.
|
|
Reduce log noise when replies to submitted shares are lost due to stratum errors.
|
|
Fugue prehash optimization for X16r family AVX2 & AVX512.
|
|
Small speed improvement for Hamsi AVX2 & AVX512.
|
|
Win: With CPU groups enabled the number of CPUs displayed in the ASCII art
|
|
affinity map is the number of CPUs in a CPU group, was number of CPUs up to 64.
|
|
|
|
v3.19.1
|
|
|
|
Changes to Windows binaries package:
|
|
- builds for CPUs with AVX or lower have CPU groups disabled,
|
|
- zen3 build renamed to avx2-sha-vaes to support Alderlake as well as Zen3,
|
|
- zen build renamed to avx2-sha, supports Zen1 & Zen2,
|
|
- avx512-sha build removed, Rocketlake CPUs can use avx512-sha-vaes,
|
|
- see README.txt for compatibility details.
|
|
Fixed a few compiler warnings that are new in GCC 11.
|
|
Other minor fixes.
|
|
|
|
v3.19.0
|
|
|
|
Windows binaries now built with support for CPU groups, requires Windows 7.
|
|
|
|
Changes to cpu-affinity:
|
|
- PR#346: Fixed incorrect CPU affinity on Windows built for CPU groups,
|
|
- added support for CPU affinity for up to 256 threads or CPUs,
|
|
- streamlined code for more efficient initialization of miner threads,
|
|
- precise affining of each miner thread to a specific CPU,
|
|
- added an option to disable CPU affinity with "--cpu-affinity 0"
|
|
Faster sha256t with AVX512 & AVX2.
|
|
Added stratum error count to stats log, reported only when non-zero.
|
|
|
|
v3.18.2
|
|
|
|
Issue #342, fixed Groestl AES on Windows, broken in v3.18.0.
|
|
AVX512 for sha256d.
|
|
SSE42 and AVX may now be displayed as mining features at startup.
|
|
This is hard coded for each algo, and is only implemented for scrypt
|
|
at this time as it is the only algo with significant performance differences
|
|
with those features.
|
|
Fixed an issue where a high hashrate algo could cause excessive invalid hash
|
|
rate log reports when starting up in benchmark mode.
|
|
|
|
v3.18.1
|
|
|
|
More speed for scrypt:
|
|
- additional scryptn2 optimizations for all CPU architectures,
|
|
- AVX2 is now used by default on CPUS with SHA but not AVX512,
|
|
- scrypt:1024 performance lost in v3.18.0 is restored,
|
|
- AVX512 & AVX2 improvements to scrypt:1024.
|
|
Big speedup for SwiFFTx AVX2 & SSE4.1: x22i +55%, x25x +22%.
|
|
Issue #337: fixed a problem that could display negative stats values in the
|
|
first summary report if the report was forced prematurely due to a stratum
|
|
diff change. The stats will still be invalid but should display zeros.
|
|
|
|
v3.18.0
|
|
|
|
Complete rewrite of Scrypt code, optimized for large N factor (scryptn2):
|
|
- AVX512 & SHA support for sha256, AVX512 has priority,
|
|
- up to 50% increase in hashrate,
|
|
- memory requirements reduced 30-60% depending on CPU architecture,
|
|
- memory usage displayed at startup,
|
|
- scrypt, default N=1024 (LTC), will likely perform slower.
|
|
Improved stale share detection and handling for Scrypt with large N factor:
|
|
- abort and discard partially computed hash when new work is detected,
|
|
- quicker response to new job, less time wasted mining stale job.
|
|
Improved stale share handling for all algorithms:
|
|
- report possible stale share when new work received with a previously
|
|
submitted share still pending,
|
|
- when new work is detected report the submission of an already completed,
|
|
otherwise valid, but likely stale, share,
|
|
- fixed incorrect block height in stale share log.
|
|
Small performance improvements to sha, bmw, cube & hamsi for AVX512 & AVX2.
|
|
When stratum disconnects miner threads go to idle until reconnected.
|
|
Colour changes to some logs.
|
|
Some low level function name changes for clarity and consistency.
|
|
The reference hashrate in the summary log and the benchmark total hashrate
|
|
are now the mean hashrate for the session.
|
|
|
|
v3.17.1
|
|
|
|
Fixed Windows build for AES+SSE4.2 (Westmere), was missing AES.
|
|
More ternary logic optimizations for AVX512, AVX512+VAES, and AVX512+AES.
|
|
Fixed my-gr algo for VAES.
|
|
|
|
v3.17.0
|
|
|
|
AVX512 optimized using ternary logic instructions.
|
|
Faster sha256t on all CPU architectures: AVX512 +30%, SHA +30%, AVX2 +9%.
|
|
Use SHA on supported CPUs to produce merkle hash.
|
|
Fixed byte order in Extranonce2 log & replaced Block height with Job ID.
|
|
|
|
v3.16.5
|
|
|
|
#329: Fixed GBT incorrect target diff in stats, second attempt.
|
|
Fixed formatting error in share result log when --no-color option is used.
|
|
|
|
v3.16.4
|
|
|
|
Faster sha512 and sha256 when not using SHA CPU extension.
|
|
#329: Fixed GBT incorrect target diff in stats.
|
|
|
|
v3.16.3
|
|
|
|
#313 Fix compile error with GCC 11.
|
|
Incremental improvements to verthash.
|
|
|
|
v3.16.2
|
|
|
|
Verthash: midstate prehash optimization for all architectures.
|
|
Verthash: AVX2 optimization.
|
|
GBT: added support for Bech32 addresses.
|
|
Linux: added CPU frequency to benchmark log.
|
|
Fixed integer overflow in time calculations.
|
|
|
|
v3.16.1
|
|
|
|
New options for verthash:
|
|
--data-file to specify the name, and optionally the path, of the verthash
|
|
data file, default is "verthash.dat" in the current directory.
|
|
--verify to perform the data file integrity check at startup, default is
|
|
not to verify data file integrity.
|
|
Support for creation of default verthash data file if:
|
|
1) --data-file option is not used,
|
|
2) no default data file is found in the current directory, and,
|
|
3) --verify option is used.
|
|
More detailed logs related to verthash data file.
|
|
Small verthash performance improvement.
|
|
Fixed detection of corrupt stats caused by networking issues.
|
|
|
|
v3.16.0
|
|
|
|
Added verthash algo.
|
|
|
|
v3.15.7
|
|
|
|
Added accepted/stale/rejected percentage to summary log report.
|
|
Added warning if share counters mismatch which could corrupt stats.
|
|
Linux: CPU temperature reporting is more responsive to rising temperature.
|
|
A few AVX2 & AVX512 tweaks.
|
|
Removed some dead code and other cleanup.
|
|
|
|
v3.15.6
|
|
|
|
Implement keccak pre-hash optimization for x16* algos.
|
|
Move conditional mining test to before get_new_work in miner thread.
|
|
Add test for share reject reason when solo mining.
|
|
Add support for floating point, as well as integer, "networkhasps" in
|
|
RPC getmininginfo method.
|
|
|
|
v3.15.5
|
|
|
|
Fix stratum jobs lost if 2 jobs received in less than one second.
|
|
|
|
v3.15.4
|
|
|
|
Fixed yescryptr16 broken in v3.15.3.
|
|
|
|
v3.15.3
|
|
|
|
Yescrypt algos now use yespower v0.5, a little faster.
|
|
New implementation of sha256 using SHA CPU extension.
|
|
Replace Openssl with SPH for sha256 & sha512.
|
|
AVX512 optimization for sha256t & sha256q.
|
|
Faster sha256t, sha256q, x21s, x22i & x25x on CPUs with SHA without AVX512.
|
|
AVX512+SHA build for Intel Rocketlake added to Windows binary package.
|
|
|
|
v3.15.2
|
|
|
|
Zen3 AVX2+VAES optimization for x16*, x17, sonoa, xevan, x21s, x22i, x25x,
|
|
allium.
|
|
Zen3 (AVX2+SHA+VAES) build added to Windows binary package.
|
|
|
|
v3.15.1
|
|
|
|
Fix compile on AMD Zen3 CPUs with VAES.
|
|
Force new work immediately after solving a block solo.
|
|
|
|
|
|
v3.15.0
|
|
|
|
Fugue optimized with AES, improves many sha3 algos.
|
|
Minotaur algo optimized for all architectures.
|
|
Fixed neoscrypt BUG log.
|
|
|
|
v3.14.3
|
|
|
|
#265: more mutex changes to reduce blocking with high thread count.
|
|
#267: fixed hodl algo potential memory alignment issue,
|
|
add warning when thread count is not valid for mining hodl algo.
|
|
|
|
v3.14.2
|
|
|
|
The second line of the Share Accepted log is no longer displayed,
|
|
new Xnonce log is added and other small log tweaks.
|
|
|
|
#265: Cleanup use of mutex.
|
|
|
|
v3.14.1
|
|
|
|
GBT and getwork log changes:
|
|
fixed missing TTF in New Block log,
|
|
ntime no longer byte-swapped for display in New Work log,
|
|
fixed zero effective hash rate in Periodic Report log,
|
|
deleted "Current block is..." log.
|
|
|
|
Renamed stratum "New Job" log to "New Work" to be consistent with the solo
|
|
version of the log. Added more data to both versions.
|
|
|
|
v3.14.0
|
|
|
|
Changes to solo mining:
|
|
- segwit is supported by getblocktemplate,
|
|
- longpolling is not working and is disabled,
|
|
- Periodic Report log is output,
|
|
- New Block log includes TTF estimates,
|
|
- Stratum thread no longer created when using getwork or GBT.
|
|
|
|
Fixed BUG log mining sha256d.
|
|
|
|
v3.13.1.1
|
|
|
|
Fixed Windows crash mining minotaur algo.
|
|
|
|
Fixed GCC 10 compile again.
|
|
Added -fno-common to testing to be consistent with GCC 10 default.
|
|
|
|
v3.13.1
|
|
|
|
Added minotaur algo for Ringcoin.
|
|
|
|
v3.13.0.1
|
|
|
|
Issue #262: Fixed xevan AVX2 invalid shares.
|
|
|
|
v3.13.0
|
|
|
|
Updated Windows binaries compiled with GCC 9. Included DLLs also updated.
|
|
Icelake build (cpuminer-avx512-sha-vaes.exe) now included in Windows
|
|
binaries package.
|
|
|
|
No source code changes.
|
|
|
|
v3.12.8.2
|
|
|
|
Fixed x12 AVX2 rejects.
|
|
Fixed phi AVX2 crash.
|
|
|
|
v3.12.8.1
|
|
|
|
Issue #261: Fixed yescryptr8g invalid shares.
|
|
|
|
v3.12.8
|
|
|
|
Yespower sha256 prehash made thread safe.
|
|
|
|
Rewrote diff conversion functions from scratch to be simpler and use
|
|
long double (float80) and int128 arithmetic for improved accuracy and
|
|
precision.
|
|
|
|
Some code cleanup and assorted small changes.
|
|
|
|
v3.12.7
|
|
|
|
Issue #257: fixed a file descriptor leak which caused the CPU temperature
|
|
and frequency query to report zeros after mining for a couple of hours.
|
|
|
|
Issue #253: stale share reduction for yescrypt, sonoa.
|
|
|
|
v3.12.6.1
|
|
|
|
Issue #252: Fixed SSL mining (stratum+tcps://)
|
|
|
|
Issue #254 Fixed benchmark.
|
|
|
|
Issue #253: Implemented stale share reduction for yespower, x25x, x22i, x21s,
|
|
x16*, scryptn2, more to come.
|
|
|
|
v3.12.6
|
|
|
|
Issue #246: improved stale share detection for getwork.
|
|
|
|
Improved precision of target_to_diff conversion from 4 digits to 20+.
|
|
|
|
Display hash and target debug data for all rejected shares.
|
|
|
|
A graphical representation of CPU affinity is displayed when using --threads.
|
|
|
|
Added highest and lowest accepted share to summary log.
|
|
|
|
Other small changes to logs to improve consistency and clarity.
|
|
|
|
v3.12.5
|
|
|
|
Issues #246 & #251: fixed incorrect share diff for stratum and getwork,
|
|
fixed incorrect target diff for getwork. Stats should now be correct for
|
|
getwork as well as stratum.
|
|
|
|
Issue #252: Fixed stratum+tcps not using curl ssl.
|
|
|
|
Getwork: reduce stale blocks, faster response to new work.
|
|
|
|
Added ntime to new job/work logs.
|
|
|
|
README.md now lists the parameters for yespower variations that don't have
|
|
a specific algo name.
|
|
|
|
v3.12.4.6
|
|
|
|
Issue #246: fixed getwork repeated new block logs with same height. New work
|
|
for the same block is now reported as "New work" instead of "New block".
|
|
Also added a check that work is new before generating "New work" log.
|
|
|
|
Added target diff to getwork new block log.
|
|
|
|
Changed share ratio in share result log to simple fraction, no longer %.
|
|
|
|
Added debug log to display mininginfo, use -D.
|
|
|
|
v3.12.4.5
|
|
|
|
Issue #246: better stale share detection for getwork, and enhanced logging
|
|
of stale shares for stratum & getwork.
|
|
|
|
Issue #251: fixed incorrect share difficulty and share ratio in share
|
|
result log.
|
|
|
|
Changed submit log to include share diff and block height.
|
|
|
|
Small cosmetic changes to logs.
|
|
|
|
v3.12.4.4
|
|
|
|
Issue #246: Fixed net hashrate in getwork block log,
|
|
removed duplicate getwork block log,
|
|
other small tweaks to stats logs for getwork.
|
|
|
|
Issue #248: Fixed chronic stale shares with scrypt:1048576 (scryptn2).
|
|
|
|
v3.12.4.3
|
|
|
|
Fixed segfault in new block log for getwork.
|
|
|
|
Disabled silent discarding of stale work after the submit is logged.
|
|
|
|
v3.12.4.2
|
|
|
|
Issue #245: fixed getwork stale shares, solo mining with getwork now works.
|
|
|
|
Issue #246: implemented block and summary logs for getwork.
|
|
|
|
v3.12.4.1
|
|
|
|
Issue #245: fix scantime when mining solo with getwork.
|
|
|
|
Added debug logs for creation of stratum and longpoll threads, use -D to
|
|
enable.
|
|
|
|
v3.12.4
|
|
|
|
Issue #244: Change longpoll to ignore job id.
|
|
|
|
Lyra2rev2 AVX2 +3%, AVX512 +6%.
|
|
|
|
v3.12.3.1
|
|
|
|
Issue #241: Fixed regression that broke coinbase address in v3.11.7.
|
|
|
|
v3.12.3
|
|
|
|
Issue #238: Fixed skunk AVX2.
|
|
|
|
Issue #239: Faster AVX2 & AVX512 for skein +44%, skein2 +30%, plus marginal
|
|
increases for skunk, x16r, x16rv2, x16rt, x16rt-veil, x16s, x21s.
|
|
|
|
Faster anime VAES +57%, AVX512 +21%, AVX2 +3%.
|
|
|
|
Redesigned code reponsible for #236.
|
|
|
|
v3.12.2
|
|
|
|
Fixed xevan, skein, skein2 AVX2, #238.
|
|
|
|
Reversed polarity of AVX2 vector bit test utilities, and all users, to be
|
|
logically and semantically correct. Follow up to issue #236.
|
|
|
|
v3.12.1
|
|
|
|
Fixed anime AVX2 low difficulty shares, git issue #236.
|
|
|
|
Periodic summary now reports lost hash rate due to rejected and stale shares,
|
|
displayed only when non-zero.
|
|
|
|
v3.12.0.1
|
|
|
|
Fixed hodl rejects, git issue #237.
|
|
|
|
Fixed debug code added in v3.12.0 to work with AVX2 to be enabled only
|
|
after low difficulty share have been seen to avoid unnecessarily excessive
|
|
log outout.
|
|
|
|
Added more digits of precision to diff in log output to help diagnose
|
|
low difficulty shares.
|
|
|
|
v3.12.0
|
|
|
|
Faster phi2 AVX2 +62%, AVX512 +150% on Intel CPUs. AMD Ryzen AVX2 is
|
|
YMMV due to its inferiour AVX2 implementation.
|
|
|
|
Fixed Hodl stats, rejects are still an issue since v3.9.5, git issue #237.
|
|
|
|
API can now be enabled with "-b port" or "--api-bind port".
|
|
It will use the default address 127.0.0.1.
|
|
|
|
Editorial: Short form options should only be used on the command line to save
|
|
typing. Configuration files and scripts should always use the long form
|
|
"--api-bind addr:port" without relying on any defaults. This is a general
|
|
recommendation that applies to all options for any application.
|
|
|
|
Removed obsolete cryptonight, all variants, and supporting code for more
|
|
size reduction and faster compiling.
|
|
|
|
Tweaked the timing of the CPU temperature and frequency log (Linux only).
|
|
|
|
Added some debug code to collect more info aboout low difficulty rejects,
|
|
git issue #236.
|
|
|
|
v3.11.9
|
|
|
|
Fixed x16r invalid shares when Luffa was first in hash order.
|
|
|
|
API is disabled by default.
|
|
|
|
New startup message for status of stratum connection, API & extranonce.
|
|
|
|
New log report for CPU temperature, frequency of fastest and slowest cores.
|
|
|
|
Compile time is a little shorter and binary file size a little smaller
|
|
using conditional compilation..
|
|
|
|
Removed code for Bastion, Drop, Heavy, Luffa an Pluck algos and other unused
|
|
code.
|
|
|
|
v3.11.8
|
|
|
|
Fixed network hashrate showing incorrect data, should be close now.
|
|
|
|
Fixed compile errors when using GCC 10 with default flag -fno-common.
|
|
|
|
Faster x16r, x16rv2, x16rt, x16s, x21s, veil, hex with midstate prehash.
|
|
|
|
Decoupled sapling usage from block version 5 in yescryptr8g.
|
|
|
|
More detailed data reporting for low difficulty rejected shares.
|
|
|
|
v3.11.7
|
|
|
|
Added yescryptr8g algo for KOTO, including support for block version 5.
|
|
|
|
Added sha3d algo for BSHA3.
|
|
|
|
Removed memcmp and clean_job checks from get_new_work, now only check job_id.
|
|
|
|
Small improvement to sha512 and sha256 parallel implementations that don't
|
|
use SHA.
|
|
|
|
v3.11.6
|
|
|
|
Fixed CPU temperature regression from v3.11.5.
|
|
|
|
More improvements to share log. More compact, highlight incremented counter,
|
|
block height when solved, job id when stale.
|
|
|
|
v3.11.5
|
|
|
|
Fixed AVX512 detection that could cause compilation errors on CPUs
|
|
without AVX512.
|
|
|
|
Fixed "BLOCK SOLVED" log incorrectly displaying "Accepted" when a block
|
|
is solved.
|
|
Added share counter to share submitited & accepted logs
|
|
Added job id to share submitted log.
|
|
Share submitted log is no longer highlighted blue, there was too much blue.
|
|
|
|
Another CPU temperature fix for Linux.
|
|
|
|
Added bug reporting tips to RELEASE NOTES.
|
|
|
|
v3.11.4
|
|
|
|
Fixed scrypt segfault since v3.9.9.1.
|
|
|
|
Stale shares counted and reported seperately from other rejected shares.
|
|
|
|
Display of counters for solved blocks, rejects, stale shares suppressed in
|
|
periodic summary when zero.
|
|
|
|
v3.11.3
|
|
|
|
Fixed x12 AVX2 again.
|
|
|
|
More speed for allium: AVX2 +4%, AVX512 +6%, VAES +14%.
|
|
|
|
Restored lost speed for x22i & x25x.
|
|
|
|
v3.11.2
|
|
|
|
Fixed x11gost (sib) AVX2 invalid shares.
|
|
|
|
Fixed x16r, x16rv2, x16s, x16rt, x16rt-veil (veil), x21s.
|
|
No shares were submitted when cube, shavite or echo were the first function
|
|
in the hash order.
|
|
|
|
Fixed all algos reporting stats problems when mining with SSE2.
|
|
|
|
Faster Lyra2 AVX512: lyra2z +47%, lyra2rev3 +11%, allium +13%, x21s +6%
|
|
|
|
Other minor performance improvements.
|
|
|
|
Known issue:
|
|
|
|
Lyra2 AVX512 improvements paradoxically reduced performance on x22i and x25x.
|
|
https://github.com/JayDDee/cpuminer-opt/issues/225
|
|
|
|
v3.11.1
|
|
|
|
Faster panama for x25x AVX2 & AVX512.
|
|
|
|
Fixed echo VAES for Xevan.
|
|
|
|
Removed support for scryptjane algo.
|
|
|
|
Reverted macro implemtations of hash functions to SPH reference code
|
|
for SSE2 versions of algos.
|
|
|
|
v3.11.0
|
|
|
|
Fixed x25x AVX512 lane 4 invalid shares.
|
|
|
|
AVX512 for hex, phi2.
|
|
|
|
VAES optimzation for Intel Icelake CPUs for most algos recently optimized
|
|
with AVX512, source code only.
|
|
|
|
v3.10.7
|
|
|
|
AVX512 for x25x, lbry, x13bcd (bcd).
|
|
|
|
v3.10.6
|
|
|
|
Added support for SSL stratum: stratum+tcps://
|
|
|
|
Added job id reporting again, but leaner, suppressed with --quiet.
|
|
|
|
AVX512 for x21s, x22i, lyra2z, allium.
|
|
|
|
Fixed share overflow warnings mining lbry with Ryzen (SHA).
|
|
|
|
v3.10.5
|
|
|
|
AVX512 for x17, sonoa, xevan, hmq1725, lyra2rev3, lyra2rev2.
|
|
Faster hmq1725 AVX2.
|
|
|
|
v3.10.4
|
|
|
|
AVX512 for x16r, x16rv2, x16rt, x16s, x16rt-veil (veil).
|
|
|
|
v3.10.3
|
|
|
|
AVX512 for x12, x13, x14, x15.
|
|
Fixed x12 AVX2 invalid shares.
|
|
|
|
v.10.2
|
|
|
|
AVX512 added for bmw512, c11, phi1612 (phi), qubit, skunk, x11, x11gost (sib).
|
|
Fixed c11 AVX2 invalid shares.
|
|
|
|
v3.10.1
|
|
|
|
AVX512 for blake2b, nist5, quark, tribus.
|
|
|
|
More broken lane fixes, fixed buffer overflow in skein AVX512, fixed
|
|
quark invalid shares AVX2.
|
|
|
|
Only the highest ranking feature in a class is listed at startup, lower ranking
|
|
features are available but no longer listed.
|
|
|
|
v3.10.0
|
|
|
|
AVX512 is now supported on selected algos, Windows binary is now available.
|
|
AVX512 optimizations are available for argon2d, blake2s, keccak, keccakc,
|
|
skein & skein2.
|
|
|
|
Fixed CPU temperature for some CPU models (Linux only).
|
|
|
|
Fixed a bug that caused some lanes not to submit shares.
|
|
|
|
Fixed some previously undetected buffer overflows.
|
|
|
|
Lyra2rev2 3% faster SSE2 and AVX2.
|
|
|
|
Added "-fno-asynchronous-unwind-tables" to AVX512 build script for Windows
|
|
to fix known mingw issue.
|
|
|
|
Changed AVX2 build script to explicitly add AES to address change in
|
|
behaviour in GCC 9.
|
|
|
|
v3.9.11
|
|
|
|
Added x22i & x25x algos.
|
|
Blake2s 2% faster AVX2 with Intel CPU, slower with Ryzen v1, v2 ?
|
|
|
|
v3.9.10
|
|
|
|
Faster X* algos with AVX2.
|
|
Small improvements to summary stats report.
|
|
|
|
v3.9.9.1
|
|
|
|
Fixed a day1 bug that could cause the miner to idle for up to 2 minutes
|
|
under certain circumstances.
|
|
|
|
Redesigned summary stats report now includes session statistics.
|
|
|
|
More robust handling of statistics to reduce corruption.
|
|
|
|
Removed --hide-diff option.
|
|
|
|
Better handling of cpu-affinity with more than 64 CPUs.
|
|
|
|
v3.9.9
|
|
|
|
Added power2b algo for MicroBitcoin.
|
|
Added generic yespower-b2b (yespower + blake2b) algo to be used with
|
|
the parameters introduced in v3.9.7 for yespower & yescrypt.
|
|
Display additional info when a share is rejected.
|
|
Some low level enhancements and minor tweaking of log output.
|
|
RELEASE_NOTES (this file) and README.md added to Windows release package.
|
|
|
|
v3.9.8.1
|
|
|
|
Summary log report will be generated on stratum diff change or after 5 minutes,
|
|
whichever comes first, to prevent incorrect data in the report.
|
|
|
|
Removed phi2-lux alias (introduced in v3.9.8) due to Luxcoin's planned fork
|
|
to a new algo. The new Luxcoin algo is not supported by cpuminer-opt.
|
|
Until the fork Luxcoin can be mined using phi2 algo.
|
|
|
|
--hide-diff option is deprecated and has no effect. It will be removed in a
|
|
future release.
|
|
|
|
v3.9.8
|
|
|
|
Changes to log output to provide data more relevant to actual mining
|
|
performance.
|
|
phi2 can now handle pools with a mix of coins that use and don't use roots.
|
|
phi2-lux added as an alias for phi2 as they are identical except for roots.
|
|
Add x16rv2 algo for Ravencoin fork.
|
|
|
|
v3.9.7
|
|
|
|
Command line option changes:
|
|
|
|
"-R" is no longer used as a shortcut for "--retry-pause", users must
|
|
use the long option.
|
|
|
|
New options:
|
|
|
|
-N, --param-n: set the N parameter for yescrypt, yespower or scrypt algos
|
|
-R, --param-r: set the R parameter for yescrypt or yespower algos, scrypt is
|
|
hardcoded with R=1
|
|
-K, --param-key: set the client key/pers parameter for yescrypt/yespower algos.
|
|
|
|
These options can be used to mine yescrypt or yespower variations using
|
|
the generic yescrypt or yespower algo name and specifying the parameters
|
|
manually. They can even be used to mine variations that aren't formally
|
|
supported by a unique algo name. Existing algos can continue to to be mined
|
|
using their original name without parameters.
|
|
|
|
v3.9.6.2
|
|
|
|
New algo blake2b.
|
|
Faster myr-gr on Ryzen using SHA.
|
|
Faster blake2s SSE2.
|
|
Small speedup of around 1% for several other algos.
|
|
|
|
v3.9.6.1
|
|
|
|
New algos: x21s, hex (alias x16r-hex).
|
|
|
|
v3.9.6
|
|
|
|
New algos: bmw512, x16rt, x16rt-veil (alias veil), x13bcd (alias bcd).
|
|
|
|
v3.9.5.4
|
|
|
|
Fixed sha256q AVX2 poor performance.
|
|
Fixed skein2 buffer overflow and restored bswap-interleave optimization.
|
|
More restructuring.
|
|
|
|
v3.9.5.3
|
|
|
|
Fix crash mining hodl with aes-sse42.
|
|
More restructuring and share report tweaks.
|
|
|
|
v3.9.5.2
|
|
|
|
Revert bswap-interleave optimization for causing crashes on Windows.
|
|
|
|
v3.9.5.1
|
|
|
|
Fixed skein2 crash on Windows.
|
|
|
|
Fixed CPU temperature reading on Ubuntu 19.04.
|
|
|
|
Realigned log message colours, blue is used to report normal activity and
|
|
yellow is only used to report abnormal activity.
|
|
|
|
Changed stats colours, yellow now means below average, white is average
|
|
range. Tweaked colour thresholds.
|
|
|
|
Changed colour of stratum difficulty change messages to blue to match other
|
|
normal protocol messages. Blue messages (block, stratum, submit) will no
|
|
longer be displayed when using -q option.
|
|
|
|
Added job id to new block, share submit, and share result messages and added
|
|
new nessage when a new job is received for an existing block. This will for
|
|
better troubleshooting of invalid job id rejects seen at zergpool.
|
|
|
|
Some more restructuring.
|
|
|
|
v3.9.5
|
|
|
|
New share reporting information includes calculation of equivalent hashrate
|
|
based on share difficulty, network latency, 5 minute summary.
|
|
Per-thread hash rate reports are disabled by default.
|
|
New command line option --hash-meter added to enable per-thread hash rates.
|
|
|
|
|
|
v3.9.4
|
|
|
|
Faster AVX2 for lyra2v3, quark, anime.
|
|
Fixed skein AVX2 regression (invalid shares since v3.9.0) and faster.
|
|
Faster skein2 with 4way AVX2 enabled.
|
|
Automatic SHA override on Ryzen CPUs, no need for -DRYZEN compile flag.
|
|
Ongoing restructuring.
|
|
|
|
v3.9.3.1
|
|
|
|
Skipped v3.9.3 due to misidentification of v3.9.2.5 as v3.9.3.
|
|
Fixed x16r algo 25% invalid share reject rate. The bug may have also
|
|
affected other algos.
|
|
|
|
v3.9.2.5
|
|
|
|
Fixed 2 regressions: hodl AES detection, x16r invalid shares with AVX2.
|
|
More restructuring.
|
|
|
|
v3.9.2.4
|
|
|
|
Yet another affinity fix. Hopefully the last one.
|
|
|
|
v3.9.2.3
|
|
|
|
Another cpu-affinity fix.
|
|
Disabled test code that fails to compile on some CPUs with limited
|
|
AVX512 capabilities.
|
|
|
|
v3.9.2.2
|
|
|
|
Fixed some day one cpu-affinity issues.
|
|
|
|
v3.9.2
|
|
|
|
Added sha256q algo.
|
|
Yespower now uses openssl SHA256, but no observable hash rate increase
|
|
on Ryzen.
|
|
Ongoing rearchitecting.
|
|
Lyra2z now hashes 8-way on CPUs with AVX2.
|
|
Lyra2 (all including phi2) now runs optimized code with SSE2.
|
|
|
|
v3.9.1.1
|
|
|
|
Fixed lyra2v3 AVX and below.
|
|
|
|
Compiling on Windows using Cygwin now works. Simply use "./build.sh"
|
|
just like on Linux. It isn't portable therefore the binaries package will
|
|
continue to use the existing procedure.
|
|
The Cygwin procedure will be documented in more detail later and will
|
|
include a list of packages that need to be installed.
|
|
|
|
v3.9.1
|
|
|
|
Fixed AVX2 version of anime algo.
|
|
|
|
Added sonoa algo.
|
|
|
|
Added "-DRYZEN_" compile option for Ryzen to override 4-way hashing when algo
|
|
contains sha256 and use SHA instead. This is due to a combination of
|
|
the introduction of HW SHA support combined with the poor performance
|
|
of AVX2 on Ryzen. The Windows binaries package replaces cpuminer-avx2-sha
|
|
with cpuminer-zen compiled with the override. Refer to the build instructions
|
|
for more information.
|
|
|
|
Ongoing restructuring to streamline the process, reduce latency,
|
|
reduce memory usage and unnecessary copying of data. Most of these
|
|
will not result in a notoceably higher reported hashrate as the
|
|
change simply reduces the time wasted that wasn't factored into the
|
|
hash rate reported by the miner. In short, less dead time resulting in
|
|
a higher net hashrate.
|
|
|
|
One of these measures to reduce latency also results in an enhanced
|
|
share submission message including the share number*, the CPU thread,
|
|
and the vector lane that found the solution. The time difference between
|
|
the share submission and acceptance (or rejection) response indicates
|
|
network ltatency. One other effect of this change is a reduction in hash
|
|
meter messages because the scan function no longer exits when a share is
|
|
found. Scan cycles will go longer and submit multiple shares per cycle.
|
|
*the share number is antcipated and includes both accepted and rejected
|
|
shares. Because the share is antipated and not synchronized it may be
|
|
incorrect in time of very rapid share submission. Under most conditions
|
|
it should be easy to match the submission with the corresponding response.
|
|
|
|
Removed "-DUSE_SPH_SHA" option, all users should have a recent version of
|
|
openssl installed: v1.0.2 (Ubuntu 16.04) or better. Ryzen SHA requires
|
|
v1.1.0 or better. Ryzen SHA is not used when hashing multi-way parallel.
|
|
Ryzen SHA is available in the Windows binaries release package.
|
|
|
|
Improved compile instructions, now in seperate files: INSTALL_LINUX and
|
|
INSTALL_WINDOWS. The Windows instructions are used to build the binaries
|
|
release package. It's built on a Linux system either running as a virtual
|
|
machine or a seperate computer. At this time there is no known way to
|
|
build natively on a Windows system.
|
|
|
|
v3.9.0.1
|
|
|
|
Isolate Windows CPU groups code when CPU groups support not explicitly defined.
|
|
|
|
v3.9.0
|
|
|
|
Added support for Windows CPU groups.
|
|
Fixed BIP34 coinbase height.
|
|
Prep work for AVX512.
|
|
Added lyra2rev3 for the vertcoin algo change.
|
|
Added yespower, yespowerr16 (Yenten)
|
|
Added phi2 algo for LUX
|
|
Discontinued support for cryptonight and variants.
|
|
|
|
v3.8.8.1
|
|
|
|
Fixed x16r.
|
|
Removed cryptonight variant check due to false positives.
|
|
API displays hashrate before shares are submitted.
|
|
|
|
v3.8.8
|
|
|
|
Added cryptonightv7 for Monero.
|
|
|
|
v3.8.7.2
|
|
|
|
Fixed argon2d-dyn regression in v3.8.7.1.
|
|
Changed compile options for aes-sse42 Windows build to -march=westmere
|
|
|
|
v3.8.7.1
|
|
|
|
Fixed argon2d-uis low difficulty rejects.
|
|
Fixed argon2d aliases.
|
|
|
|
v3.8.7
|
|
|
|
Added argon2d4096 (alias argon2d-uis) for Unitus (UIS).
|
|
argon2d-crds and argon2d-dyn renamed to argon2d250 and argon2d500 respectively.
|
|
The old names are recognized as aliases.
|
|
AVX512 is now supported for argon2d algos, Linux only.
|
|
AVX is no longer a reported feature and an AVX Windows binary is no longer
|
|
provided. Use AES-SSE42 build instead.
|
|
|
|
v3.8.6.1
|
|
|
|
Faster argon2d* AVX2.
|
|
Untested AVX-512 for argon2d*, YMMV.
|
|
|
|
v3.8.6
|
|
|
|
Fixed argon2 regression in v3.8.5.
|
|
Added x16s algo for Pigeoncoin.
|
|
Some code cleanup.
|
|
|
|
v3.8.5
|
|
|
|
Added argon2d-crds and argon2d-dyn algos.
|
|
sha256t 8 way AVX2 & 4 way SSE4.2 optimized.
|
|
CPUs with SSE4.2 get optimizations previously reserved for AVX.
|
|
|
|
v3.8.4.1
|
|
|
|
Fixed sha256t low difficulty rejects.
|
|
Fixed compile error on CPUs with AVX512.
|
|
|
|
v3.8.4
|
|
|
|
Added yescryptr32 algo for WAVI coin.
|
|
Added URL to API data.
|
|
Improved detection of __int128 support (linux only)
|
|
Compile support for CPUs without SSSE3 (no binary support)
|
|
|
|
v3.8.3.3
|
|
|
|
Integrated getblocktemplate with algo_gate.
|
|
Added support for hodl gbt (untested).
|
|
Reworked some recent quick fixes.
|
|
|
|
v3.8.3.2
|
|
|
|
Reverted gbt changes from v3.8.0 that broke getwork.
|
|
Reverted scaled hash rate for API, added HS term in addition to KHS.
|
|
Added blocks solved to console display and API.
|
|
|
|
v3.8.3.1
|
|
|
|
Fixed regression in v3.8.3 that broke several algos.
|
|
|
|
v3.8.3
|
|
|
|
More restoration of lost lyra2 hash.
|
|
8 way AVX2 and 4way AVX optimization for blakecoin, vanilla & blake2s.
|
|
8 way AVX2 for lbry.
|
|
Scaled hashrate for API output.
|
|
A couple of GBT fixes.
|
|
|
|
v3.8.2.1
|
|
|
|
Fixed low difficulty rejects with allium.
|
|
Fixed qubit AVX2.
|
|
Restored lyra2z lost hash.
|
|
Fixed build.sh
|
|
|
|
v3.8.2
|
|
|
|
Fixed and faster myr-gr.
|
|
Added x12 algo (Galaxie Cash), allium algo (Garlicoin).
|
|
Faster lyra2rev2, lbry, skein.
|
|
Large reduction in compiler warnings.
|
|
|
|
v3.8.1.1
|
|
|
|
Fixed Windows AVX2 crash.
|
|
|
|
v3.8.1
|
|
|
|
Fixes x16r on CPUs with only SSE2.
|
|
More Optimizations for X algos, qubit & deep.
|
|
Corrected algo optimizations for scrypt and yescrypt, no new optimizations.
|
|
|
|
v3.8.0.1
|
|
|
|
Fixed x16r AVX2 low hash rate.
|
|
|
|
v3.8.0
|
|
|
|
4way no longer a seperate feature, included in AVX2.
|
|
Added x16r algo for Ravencoin, anime algo for Animecoin.
|
|
More 4way optimizations for X13 and up.
|
|
Tweaked CPU affinity to better support more than 64 CPUs.
|
|
Fixed compile problem on some old AMD CPUs.
|
|
|
|
v3.7.10
|
|
|
|
4way optimizations for lyra2rev2, lyra2h, quark, timetravel8, timetravel10
|
|
x11evo, blakecoin.
|
|
Faster x13sm3 (hsr).
|
|
Added share difficulty to accepted message.
|
|
|
|
v3.7.9
|
|
|
|
Partial 4way optimizations for veltor, skunk, polytimos, lyra2z.
|
|
Additional 4way optimizations for X algos.
|
|
New algo yescryptr8 for BitZeny, not to be confused with original
|
|
yescrypt Globalboost-Y.
|
|
|
|
v3.7.8
|
|
|
|
Partial 4way optimization for most X algos including c11, xevan, phi, hsr
|
|
|
|
v3.7.7
|
|
|
|
Fixed regression caused by 64 CPU support.
|
|
Fixed lyra2h.
|
|
|
|
v3.7.6
|
|
|
|
Added lyra2h algo for Hppcoin.
|
|
Added support for more than 64 CPUs.
|
|
Optimized shavite512 with AES, improves x11 etc.
|
|
|
|
v3.7.5
|
|
|
|
New algo keccakc for Creative coin with 4way optimizations
|
|
|
|
Rewrote some AVX/AVX2 code for more consistent implementation and some
|
|
optimizing.
|
|
|
|
Enhanced capabilities check to support 4way, more precise reporting of
|
|
features (not all algos use SSE2), and better error messages when using
|
|
an incompatible pre-built version (Windows users).
|
|
|
|
v3.7.4
|
|
|
|
Removed unnecessary build options.
|
|
|
|
Added 4way support for tribus and nist5.
|
|
|
|
v3.7.3
|
|
|
|
Added polytimos algo.
|
|
|
|
Introducing 4-way AVX2 optimization giving up to 4x performance inprovement
|
|
on many compute bound algos. First supported algos: skein, skein2, blake &
|
|
keccak. This feature is only available when compiled from source. See above
|
|
for instcuctions how to enable 4-way during compilation.
|
|
|
|
Updated Dockerfile.
|
|
|
|
v3.7.2
|
|
|
|
Fixed yescryptr16
|
|
Changed default sha256 and sha512 to openssl. This should be used when
|
|
compiling with openssl 1.0.2 or higher (Ubuntu 16.04).
|
|
This should increase the hashrate for yescrypt, yescryptr16, m7m, xevan, skein,
|
|
myr-gr & others when openssl 1.0.2 is installed.
|
|
Note: -DUSE_SPH_SHA has been removed in v3.9.1.
|
|
Users with openssl 1.0.1 (Ubuntu 14.04) may get better perforance by adding
|
|
"-DUSE_SPH_SHA" to CLAGS.
|
|
Windows binaries are compiled with -DUSE_SPH_SHA and won't get the speedup.
|
|
|
|
v3.7.1
|
|
|
|
Added yescryptr16 algo for Yenten coin
|
|
Added SHA support to yescrypt and yescryptr16
|
|
Small code cleanup
|
|
|
|
v3.7.0
|
|
|
|
Fixed x14 misalignment bug.
|
|
Fixed decred stake version bug.
|
|
Getwork fixes for algos that use big endian data encoding: m7m, zr5, neoscrypt,
|
|
decred.
|
|
|
|
v3.6.10
|
|
|
|
Fixed misalignment bug in hsr.
|
|
|
|
v3.6.9
|
|
|
|
Added phi1612 algo for LUX coin
|
|
Added x13sm3 algo, alias hsr, for Hshare coin
|
|
|
|
v3.6.8
|
|
|
|
Fixed timetravel10 on Windows.
|
|
|
|
v3.6.7
|
|
|
|
Skunk algo added.
|
|
Tribus a little faster.
|
|
Minor restructuring.
|
|
|
|
v3.6.6
|
|
|
|
added tribus algo for Denarius (DNR)
|
|
|
|
configure removed from .gitignore. This should allow git clone to compile
|
|
on Windows/mingw.
|
|
|
|
Fixed CPU temperature monitoring on some CPUs (Linux only).
|
|
|
|
Fixed a compile error on FreeBSD (unsupported YMMV).
|
|
|
|
v3.6.5
|
|
|
|
Cryptonight a little faster.
|
|
Added jha algo (Jackpotcoin) with AES optimizations.
|
|
|
|
v3.6.4
|
|
|
|
Added support for Bitcore (BTX) using the timetravel10 algo, optimized for
|
|
AES and AVX2.
|
|
"-a bitcore" works as an alias and is less typing that "-a timetravel10".
|
|
|
|
v3.6.3
|
|
|
|
Fixed all known issues with SHA support on AMD Ryzen CPUs, still no
|
|
Windows binaries.
|
|
|
|
v3.6.2
|
|
|
|
SHA accceleration is now supported on AMD Ryzen CPUs when compiled from source,
|
|
Windows binaries not yet available.
|
|
Fixed groestl algo.
|
|
Fixed dmd-gr (Diamond) algo.
|
|
Fixed lbry compile error on Ryzen.
|
|
Added SHA support to m7m algo.
|
|
Hodl support for CPUs without AES has been removed, use legacy version.
|
|
|
|
v3.6.1
|
|
|
|
Fixed data alignment issue that broke lyra2rev2 AVX2 on Windows.
|
|
Added preliminary support for HW accelerated SHA.
|
|
Solo mining most algos should now work, cryptonight confirmed exception.
|
|
|
|
v3.6.0
|
|
|
|
Preliminary support for solo mining using getwork.
|
|
|
|
v3.5.13
|
|
|
|
Found more speed in Cubehash, algo improvement depends on chain length,
|
|
deep +8%, timetravel +1% , xevan +1%
|
|
Fixed a getwork bug, solo mining is not yet supported but testing is encouraged
|
|
|
|
v3.5.12
|
|
|
|
New algo sha256t for Onecoin (OC), 29% faster than ocminer version.
|
|
lyra2zoin algo renamed to lyra2z330, lyra2zoin and zoin still work
|
|
as aliases.
|
|
|
|
v3.5.11
|
|
|
|
Fixed hmq1725 crash on Ubuntu 16.04
|
|
Fixed compile error in hodl.cpp with gcc 6.3
|
|
Fixed x11 crash on Windows with AVX2
|
|
|
|
v3.5.10
|
|
|
|
Some AVX2 optimizations introduced for Luffa, shorter chained algos such
|
|
as Qubit and Deep should see the biggest gains, but many other algos should
|
|
also see improvement, longer chains like xevan not so much.
|
|
Rewrite of Groestl AES, now 100% vectorized, small improvement.
|
|
build.sh and winbuild.sh initialize with distclean instead of clean.
|
|
Implemented a workaround for a compile error in hodl code when compiling
|
|
with gcc 6.3.
|
|
|
|
V3.5.9
|
|
|
|
Reduced stack usage for hmq1725 and small speedup.
|
|
Added Deep algo optimized for AES and AVX2
|
|
Rewrite of SSE2 Luffa, midstate now supported in deep, qubit & timetravel
|
|
Small changes to algo-gate.
|
|
|
|
v3.5.8
|
|
|
|
Lyra2RE fixed on Windows, broken in v3.5.6.
|
|
Ported AES cryptonight optimizations from v3.5.7 to non-AES version
|
|
with little improvement.
|
|
Marginal improvements to xevan and veltor.
|
|
|
|
v3.5.7
|
|
|
|
Cryptonight 5% faster
|
|
|
|
v3.5.6
|
|
|
|
Updated Lyra2z algo for new zcoin algo post block 2050.
|
|
Cleaned up Lyra2 code and increased performance
|
|
- Lyra2Z (zcoin) +12%
|
|
- Lyra2REv2 +11%
|
|
- Lyra2RE +6%
|
|
Fixed x11evo algo performance on Windows.
|
|
Timetravel algo 3% to 5% faster
|
|
Whirlpool algo 15% faster.
|
|
Removed aclocal.m4 from .gitignore.
|
|
|
|
v3.5.5
|
|
|
|
x11evo fixed on Windows but at reduced performance.
|
|
Changed benchmark stats collection default to false and
|
|
added proper user and password checks to enable it.
|
|
|
|
v3.5.4
|
|
|
|
x11evo fixed (broken in v3.5.2) and optimized 23% faster
|
|
Small improvements of 1% to 3% on many algos including timetravel,
|
|
xevan and cryptonight.
|
|
More code cleanup and compiler warning reduction.
|
|
Improved checking for missing command line arguments.
|
|
|
|
v3.5.3
|
|
|
|
More optimizations
|
|
Timetravel +16%
|
|
Xevan +3%
|
|
Qubit +12%
|
|
|
|
V3.5.2
|
|
|
|
Timetravel (machinecoin) added and optimized.
|
|
|
|
v3.5.1
|
|
|
|
Bastion 9% faster with AES, benchkmark still not working.
|
|
Worked around git automatically removing m4 directory.
|
|
Fixed occasional compile error in algo-gate.h.
|
|
|
|
v3.5.0
|
|
|
|
Fixed blakecoin and vanilla increasing rejects with number of threads.
|
|
Removed support for SSE2 Groestl functions. SSE2 groestl remains available
|
|
in v3.4.12 and the legacy branch.
|
|
It is no longer necessary to specify stratum+tcp:// in the url, it is assumed
|
|
and is the only supported protocol.
|
|
|
|
v3.4.12
|
|
|
|
lyra2z (zcoin) modified for blocks after 8192
|
|
fixed scryptjane to support various N factors
|
|
|
|
v3.4.11
|
|
|
|
groestl algo AES optimized +200%
|
|
myr-gr algo AES optimized +100%
|
|
|
|
v3.4.10
|
|
|
|
xevan AES optimized +35%
|
|
|
|
v3.4.9
|
|
|
|
fixed zr5, broken in v3.4.8
|
|
added xevan algo (Bitsend, BSD) with 10% improvement
|
|
added lyra2zoin (Zoin, ZOI) fully optimized but YMMV
|
|
|
|
v3.4.8
|
|
|
|
added zcoin support, optimized for AVX2 but no increase in performance
|
|
fixed API display of diff for cryptonight
|
|
--show-diff is now the default, use "--hide-diff" to disable
|
|
cleaned up some cpuminer-multi artifacts
|
|
|
|
v3.4.7
|
|
|
|
fixed benchmark, except for x11evo
|
|
added CPU temperature to share submission report (Linux only)
|
|
|
|
v3.4.6
|
|
|
|
For users:
|
|
- cryptolight algo is now supported with AES optimizations
|
|
- display format changed for share submissions
|
|
- colour keyed "Accepted" or "Rejected" status.
|
|
- reject count and rate displayed when share is rejected.
|
|
|
|
For developers:
|
|
|
|
- code restructuring for detecting new work
|
|
- cleaned up detection and handling of new work
|
|
- removed call to stratum_gen_work from niner_thread.
|
|
- eliminated gen_work_now gate function.
|
|
- renamed gate function init_nonce to get_new_work.
|
|
- renamed gate function alloc_scratchbuf to miner_thread_init,
|
|
removed all scracthbuf references from miner_thread and moved
|
|
implementation to the local algo files of those algos that need it.
|
|
- moved most gate targets from algo-gate.c to cpu-miner.c removing
|
|
most mining related code from algo-gate-api.c.
|
|
|
|
v3.4.5
|
|
|
|
fixed stale share rejects mining cryptonight at Nicehash
|
|
fixed compile error on Westmere CPUs
|
|
|
|
v3.4.4
|
|
|
|
fixed compile errors on Westmere CPUs, this is an interim fix that
|
|
will compile without AES on Westmere
|
|
added support for cryptonight at Nicehash, some rejects may be produced
|
|
at Nicehash only.
|
|
|
|
v3.4.3
|
|
|
|
imported optimized m7m, +42%
|
|
|
|
v3.4.2
|
|
|
|
added veltor algo
|
|
tweaked lyra2 AVX/AVX2 code for small improvement.
|
|
|
|
v3.4.1
|
|
|
|
big AVX2 optmizations for lyra2 +35%, lyra2v2 +11%, AVX also faster
|
|
fixed hmq1725
|
|
|
|
v3.4.0
|
|
|
|
fixed Windows compile error introduced in v3.3.9
|
|
fixed x11gost, broken in v3.3.7
|
|
AVX2 optimizations improving many algos:
|
|
- Lyra2RE +3%
|
|
- Lyra2REv2 +19%
|
|
- x11gost (sib) +6%
|
|
- x11evo +2.4%
|
|
- c11 +6.9%
|
|
- x11 +5%
|
|
- x13 +5%
|
|
- x14 +3.6%
|
|
- x15 +2.4%
|
|
- x17 +2.8%
|
|
- qubit +8.4%
|
|
|