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. 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. 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.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%