mirror of
https://github.com/JayDDee/cpuminer-opt.git
synced 2025-09-17 23:44:27 +00:00
397 lines
11 KiB
Plaintext
397 lines
11 KiB
Plaintext
cpuminer-opt now supports HW SHA acceleration available on AMD Ryzen CPUs.
|
|
This feature requires recent SW including GCC version 5 or higher and
|
|
openssl version 1.1 or higher. It may also require using "-march=znver1"
|
|
compile flag.
|
|
|
|
HW SHA support is only available when compiled from source, Windows binaries
|
|
are not yet available.
|
|
|
|
cpuminer-opt is a console program, if you're using a mouse you're doing it
|
|
wrong.
|
|
|
|
Security warning
|
|
----------------
|
|
|
|
Miner programs are often flagged as malware by antivirus programs. This is
|
|
a false positive, they are flagged simply because they are miners. The source
|
|
code is open for anyone to inspect. If you don't trust the software, don't use
|
|
it.
|
|
|
|
The 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.
|
|
|
|
Compile Instructions
|
|
--------------------
|
|
|
|
Requirements:
|
|
|
|
Intel Core2 or newer, or AMD Steamroller or newer CPU.
|
|
64 bit Linux or Windows operating system.
|
|
|
|
Building on linux prerequisites:
|
|
|
|
It is assumed users know how to install packages on their system and
|
|
be able to compile standard source packages. This is basic Linux and
|
|
beyond the scope of cpuminer-opt.
|
|
|
|
Make sure you have the basic development packages installed.
|
|
Here is a good start:
|
|
|
|
http://askubuntu.com/questions/457526/how-to-install-cpuminer-in-ubuntu
|
|
|
|
Install any additional dependencies needed by cpuminer-opt. The list below
|
|
are some of the ones that may not be in the default install and need to
|
|
be installed manually. There may be others, read the error messages they
|
|
will give a clue as to the missing package.
|
|
|
|
The following command should install everything you need on Debian based
|
|
distributions such as Ubuntu:
|
|
|
|
sudo apt-get install build-essential libssl-dev libcurl4-openssl-dev libjansson-dev libgmp-dev automake
|
|
|
|
|
|
build-essential (for Ubuntu, Development Tools package group on Fedora)
|
|
automake
|
|
libjansson-dev
|
|
libgmp-dev
|
|
libcurl4-openssl-dev
|
|
libssl-dev
|
|
pthreads
|
|
zlib
|
|
|
|
SHA support on AMD Ryzen CPUs requires gcc version 5 or higher and openssl 1.1
|
|
or higher. Some older versions of openssl may also work, it is known to work
|
|
with Ubuntu 16.04. Additional compile options may also be required such as
|
|
"-march-znver1" or "-msha".
|
|
|
|
Extract cpuminer source.
|
|
|
|
tar xvzf cpuminer-opt-x.y.z.tar.gz
|
|
cd cpuminer-opt-x.y.z
|
|
|
|
Run ./build.sh to build on Linux or execute the following commands.
|
|
|
|
./autogen.sh
|
|
CFLAGS="-O3 -march=native -Wall" CXXFLAGS="$CFLAGS -std=gnu++11" ./configure --with-curl
|
|
make
|
|
|
|
Start mining.
|
|
|
|
./cpuminer -a algo -o url -u username -p password
|
|
|
|
Building on Windows prerequisites:
|
|
|
|
msys
|
|
mingw_w64
|
|
Visual C++ redistributable 2008 X64
|
|
openssl
|
|
|
|
Install msys and mingw_w64, only needed once.
|
|
|
|
Unpack msys into C:\msys or your preferred directory.
|
|
|
|
Install mingw_w64 from win-builds.
|
|
Follow instructions, check "msys or cygwin" and "x86_64" and accept default
|
|
existing msys instalation.
|
|
|
|
Open a msys shell by double clicking on msys.bat.
|
|
Note that msys shell uses linux syntax for file specifications, "C:\" is
|
|
mounted at "/c/".
|
|
|
|
Add mingw bin directory to PATH variable
|
|
PATH="/c/msys/opt/windows_64/bin/:$PATH"
|
|
|
|
Instalation complete, compile cpuminer-opt.
|
|
|
|
Unpack cpuminer-opt source files using tar from msys shell, or using 7zip
|
|
or similar Windows program.
|
|
|
|
In msys shell cd to miner directory.
|
|
cd /c/path/to/cpuminer-opt
|
|
|
|
Run winbuild.sh to build on Windows or execute the following commands.
|
|
|
|
./autogen.sh
|
|
CFLAGS="-O3 -march=native -Wall" CXXFLAGS="$CFLAGS -std=gnu++11 -fpermissive" ./configure --with-curl
|
|
make
|
|
|
|
Start mining
|
|
|
|
cpuminer.exe -a algo -o url -u user -p password
|
|
|
|
The following tips may be useful for older AMD CPUs.
|
|
|
|
AMD CPUs older than Piledriver, including Athlon x2 and Phenom II x4, are not
|
|
supported by cpuminer-opt due to an incompatible implementation of SSE2 on
|
|
these CPUs. Some algos may crash the miner with an invalid instruction.
|
|
Users are recommended to use an unoptimized miner such as cpuminer-multi.
|
|
|
|
Some users with AMD CPUs without AES_NI have reported problems compiling
|
|
with build.sh or "-march=native". Problems have included compile errors
|
|
and poor performance. These users are recommended to compile manually
|
|
specifying "-march=btver1" on the configure command line.
|
|
|
|
Support for even older x86_64 without AES_NI or SSE2 is not availble.
|
|
|
|
|
|
Change Log
|
|
----------
|
|
|
|
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%
|
|
|