[ANN] cpuminer-opt, open source optimized multi-algo CPU miner

This is the home of cpuminer-opt, The optimized CPU miner.

Download

Source code and Windows binaries can be downloaded from mega.

New in v.3.10.2 realese - download

cpuminer-opt-3.10.2

AVX512 added for bmw512, c11, phi1612 (phi), qubit, skunk, x11, x11gost (sib).

Fixed c11 AVX2 invalid shares.

cpuminer-opt-3.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.

cpuminer-opt-3.10.0

AVX-512 is now supported on selected algos, Windows binary is now available.
AVX-512 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.

New in v3.9.11

Added x22i & x25x algos.

Blake2s 2% faster AVX2 with Intel CPU, slower with Ryzen v1, v2 ?

New in v3.9.10

Faster X* algos with AVX2.
Small improvements to summary stats report.

Requirements:

  1. A x86_64 architecture CPU with a minimum of SSE2 support. This includes Intel Core2 and newer and AMD equivalents.
    In order to take advantage of AES_NI optimizations a CPU with AES_NI is required. This includes Intel Westmere and newer
    and AMD equivalents. Further optimizations are available on some algos for CPUs with AVX and AVX2, Sandybridge and
    Haswell respectively.

32 bit CPUs and ARM CPUs are not supported.

  1. 64 bit Linux OS. Ubuntu and Fedora based distributions, including Mint and Centos are known to work and have all
    dependencies in their repositories. Others may work but may require more effort.

64 bit Windows OS is supported using the pre-compiled binaries package or may be compiled with mingw_w64 and msys.

Apple and Android operating systems are not supported.

Older CPUs, other architectures and operating systems may be supported by TPruvot’s cpuminer-multi.

Security warning

Miner programs are often flagged as malware by antivirus programs. This is a false positive, they are flagged simply
because they are cryptocurrency miners. The source code is open for anyone to inspect. If you don’t trust the software,
don’t use it.

Some cryptographic 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.

Errata:

Cryptonight and variants are no longer supported.

Neoscrypt crashes on Windows, use legacy version.

Hodl requires a CPU with AES, use legacy version if without.

Benchmark testing does not work on several algos.

Donations

cpuminer-opt has no fees of any kind but donations are accepted.

BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT

This is the home of cpuminer-opt, the optimized CPU miner.


Supporting over 90 agorithms with many optimized for CPUs with the latest technologies:

AMD Ryzen: AVX2, SHA
Intel Skylake X: AVX512
Intel Icelake: AVX512, SHA, and VAES (source code only at this time)

Older CPUs with SSE2 are also supported.

Unique features

Block and share time estimates.

True hashrate reporting with comparison with actual share submission rate.

Download

Windows binaries can be downloaded from - here

New in 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.

New in 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).

Errata: RELEASE_NOTES incorrectly reports the version as v3.12.5.

New in v3.12.4.3

Fixed segfault in new block log for getwork.

Disabled silent discarding of stale work after the submit is logged.

New in 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.

New in 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.

New in v3.12.4

Issue #244: Change longpoll to ignore job id.

Lyra2rev2 AVX2 +3%, AVX512 +6%.

New in v3.12.3.1

Issue #241: Fixed regression that broke coinbase address in v3.11.2.

New in 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 issue #236.

New in 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 issue #236.

New in 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.

New in 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.

New in 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.

New in 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 about low difficulty rejects,
git issue #236.

Requirements:

  1. A x86_64 architecture CPU with a minimum of SSE2 support. This includes Intel Core2 and newer and AMD equivalents.
    In order to take advantage of AES_NI optimizations a CPU with AES_NI is required. This includes Intel Westmere and newer
    and AMD equivalents. Further optimizations are available on some algos for CPUs with AVX and AVX2, Sandybridge and
    Haswell respectively.

32 bit CPUs and ARM CPUs are not supported.

  1. 64 bit Linux OS. Ubuntu and Fedora based distributions, including Mint and Centos are known to work and have all
    dependencies in their repositories. Others may work but may require more effort.

64 bit Windows OS is supported using the pre-compiled binaries package or may be compiled with mingw_w64 and msys.

Apple and Android operating systems are not supported. FreeBSD YMMV.

Older CPUs, other architectures and operating systems may be supported by TPruvot’s cpuminer-multi.

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 has been spread using the
cover that miners are known to be subject to false positives. 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.

Some cryptographic 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.

Errata:

Old algorithms that are rarely used anymore will not get the latest optimizations.

Cryptonight and variants are no longer supported.

Neoscrypt crashes on Windows, use legacy version.

Hodl requires a CPU with AES, use legacy version if without.

Benchmark testing does not work on several algos.

Supported algorithms
allium Garlicoin
anime Animecoin
argon2 Argon2 coin (AR2)
argon2d250 argon2d-crds, Credits (CRDS)
argon2d500 argon2d-dyn, Dynamic (DYN)
argon2d4096 argon2d-uis, Unitus, (UIS)
axiom Shabal-256 MemoHash
blake Blake-256 (SFR)
blake2b Blake2b 256
blake2s Blake-2 S
blakecoin blake256r8
bmw BMW 256
bmw512 BMW 512
c11 Chaincoin
decred
deep Deepcoin (DCN)
dmd-gr Diamond-Groestl
groestl Groestl coin
hex x16r-hex
hmq1725 Espers
hodl Hodlcoin
jha Jackpotcoin
keccak Maxcoin
keccakc Creative coin
lbry LBC, LBRY Credits
luffa Luffa
lyra2h Hppcoin
lyra2re lyra2
lyra2rev2 lyra2v2
lyra2rev3 lyrav2v3, Vertcoin
lyra2z
lyra2z330 Lyra2 330 rows, Zoin (ZOI)
m7m Magi (XMG)
myr-gr Myriad-Groestl
neoscrypt NeoScrypt(128, 2, 1)
nist5 Nist5
pentablake Pentablake
phi1612 phi
phi2 Luxcoin (LUX)
phi2-lux identical to phi2
pluck Pluck:128 (Supcoin)
polytimos Ninja
power2b MicroBitcoin (MBC)
quark Quark
qubit Qubit
scrypt scrypt(1024, 1, 1) (default)
scrypt:N scrypt(N, 1, 1)
sha256d Double SHA-256
sha256q Quad SHA-256, Pyrite (PYE)
sha256t Triple SHA-256, Onecoin (OC)
sha3d Double keccak256 (BSHA3)
shavite3 Shavite3
skein Skein+Sha (Skeincoin)
skein2 Double Skein (Woodcoin)
skunk Signatum (SIGT)
sonoa Sono
timetravel Machinecoin (MAC)
timetravel10 Bitcore
tribus Denarius (DNR)
vanilla blake256r8vnl (VCash)
veltor (VLT)
whirlpool
whirlpoolx
x11 Dash
x11evo Revolvercoin
x11gost sib (SibCoin)
x12 Galaxie Cash (GCH)
x13 X13
x13bcd bcd
x13sm3 hsr (Hshare)
x14 X14
x15 X15
x16r
x16rv2 Ravencoin (RVN)
x16rt Gincoin (GIN)
x16rt-veil Veil (VEIL)
x16s Pigeoncoin (PGN)
x17
x21s
x22i
x25x
xevan Bitsend (BSD)
yescrypt Globalboost-Y (BSTY)
yescryptr8 BitZeny (ZNY)
yescryptr8g Koto (KOTO)
yescryptr16 Eli
yescryptr32 WAVI
yespower Cryply
yespowerr16 Yenten (YTN)
yespower-b2b generic yespower + blake2b
zr5 Ziftr

Donations

cpuminer-opt has no fees of any kind but donations are accepted.
12tdvfF7KmAsihBXQXynT6E6th2c2pByTT