#################################################
# dstm's ZCash Cuda miner
#################################################
I've written it initially for my own purpose. It performs pretty well - so here it is.
Compatible with devices having Compute Capability 5.0 and greater i.e. it should run fine on Maxwell/Pascal GPUs.
Supports every server using the stratum protocol. If you have issues with certain pools pls. report them here.
Contains 2% devfee.
Suggestions are welcome.Performance:1080Ti 725-740 Sol/s
1070 440-450 Sol/s
stock settings
UI:Here is a sample output mining on a rig with 7 GPUs.
GPU0: 1080Ti
GPU1 - GPU6: 1070
> GPU0 42°C Sol/s: 739.0 Sol/W: 2.85 Avg: 739.0 I/s: 390.1 Sh: 54.00 1.00 29 ++++++++++++++++++
> GPU1 44°C Sol/s: 459.0 Sol/W: 2.91 Avg: 459.0 I/s: 243.5 Sh: 27.00 1.00 29 +++++++++
> GPU2 46°C Sol/s: 451.3 Sol/W: 2.77 Avg: 451.3 I/s: 243.5 Sh: 15.00 1.00 28 +++++
> GPU3 43°C Sol/s: 449.7 Sol/W: 2.83 Avg: 449.7 I/s: 242.8 Sh: 24.00 1.00 29 ++++++++*
> GPU4 42°C Sol/s: 449.0 Sol/W: 2.76 Avg: 449.0 I/s: 243.5 Sh: 36.00 1.00 28 ++++++++++++
GPU5 43°C Sol/s: 446.4 Sol/W: 2.79 Avg: 446.4 I/s: 243.6 Sh: 30.00 1.00 28 ++++++++++
GPU6 42°C Sol/s: 461.4 Sol/W: 2.84 Avg: 461.4 I/s: 243.8 Sh: 18.00 1.00 28 ++++++
========== Sol/s: 3455.8 Sol/W: 2.82 Avg: 3455.8 I/s: 1850.9 Sh: 204.00 1.00 28
Sol/s: solutions per second
Sol/W: efficiency - average Sol/s per Watt (Sol/J)
Avg: average solutions per second
I/s: iterations per second done by the GPU
Sh: <shares per minute> <accepted shares ratio> <network latency in ms>
> : indicates that a new job was received
+ : indicates one submitted share
* : indicates one submitted devfee-share
= : sum of the stats if mining on multiple GPUs
Features:To get help just start zm without any arguments
$ ./zm
ZM 0.5.4, dstm's ZCASH/Equihash Cuda Miner
Usage:
zm --server hostname --port port_nr --user user_name
[--pass password] [options]...
Stratum:
--server Stratum server hostname
prefix hostname with 'ssl://' for encrypted
connections - e.g. ssl://mypool.com
--port Stratum server port number
--user Username / Workername
--pass Worker password
Options:
--help Print this help
--dev Space separated list of cuda devices
--list-devices List available cuda devices
--time Enable output of timestamps
--logfile [=path] Append logs to the file named by 'path'
If 'path' is not given append to 'zm.log' in
current working directory.
--noreconnect Disable automatic reconnection on network errors.
--temp-target In C - If set, enables temperature controller.
The workload of each GPU will be continuously
adjusted such that the temperature stays around
this value. It is recommended to set your fan speed
to 100% when using this setting.
--telemetry [=ip:port]. Starts telemetry server. Telemetry data
can be accessed using a web browser(http) or by json-rpc.
If no arguments are given the server listens on
127.0.0.1:2222 - Example: --telemetry=0.0.0.0:2222
Valid port range [1025-65535]
Example:
zm --server servername.com --port 1234 --user username
BIG THANKS TO SWISSTRADER for providing access to hardware.Dependencies Linux:
openssl 1.0
Windows:
Visual C++ Redistributable for visual studio 2015 (VCRUNTIME140.dll)
Version 0.5.7reduce cpu load
minor performance improvements
con: use single pool connection
con: ssl: clear session data before reconnect
nvml: handle invalid values
Linux x64:
sha1 e7a38b2771e2b8d976435a6b569053d103bc9465
https://drive.google.com/file/d/11e1fSA2cl14xRL8sMA9BA3AhBGQNn4e4Win x64:
sha1 808dcfc440beb6af98c84420e1299b211033c8ce
https://drive.google.com/file/d/1WTJylr2uJYy_7-5isuja34ONu0WEBhinVersion 0.5.6reduce cpu load
minor performance improvements
Linux x64:
sha1 ec26a36c131dcc28aaf747714b55a71ff0167836
https://drive.google.com/file/d/1Ql-hwlI0IsgOGZdOZQe45SfSMdpmgzE_Win x64:
sha1 b9c818fedd53898cf010f129acefbd7be6fe8812
https://drive.google.com/file/d/1H6u2ZWKaQ4lGcvg2X-cqA0gP966e2-BkVersion 0.5.5con: handle failure of dev share pool
con: disable reconnect limit
logfile: disable buffering
Linux x64:
sha1 43e52e9494510f98d28152bf2a2e162b7381c379
https://drive.google.com/file/d/1USpxkXUd0Xs29XizG63OGf9w60UGl4GfWin x64:
sha1 4bf1cd44c1bfce6b95e0d6fd26139dcde5d818b2
https://drive.google.com/file/d/1Zmq6ZuOStO-bNjK-4XKacKpe66hk1QwtVersion 0.5.4fix: device selection
fix: latency reporting
add logfile support
add option to disable auto reconnect
handle disconnect periods in web/json stats
add basic GPU responsiveness infrastructure
ui: change timestamps to ISO 8601 format
webui: report: uptime contime server user port
json: report: uptime contime server user port version
Linux x64:
sha1 02816754ab46191109bed9f89f17c073000b0950
https://drive.google.com/file/d/12MmjEm-qIpdK7zc22jatQWD9WmAFIOLyWin x64:
sha1 e4312b348a04348a6229b0098b7862a1306b0145
https://drive.google.com/file/d/1B7d6Qp9WzSPmCC6Yp0BgeyFQ9osdBTqqVersion 0.5.3cpu: reduce cpu load
con: fix recon loop
con: network latency measurement
ui: add accepted/rejected shares ratio
ui: add network latency
ui: add information about selected devices
Linux x64:
sha1 0583d59930a6160f80db612eae089c84712b5f44
https://drive.google.com/file/d/0B5QcL4Z6nYEPcHRuZk5LV3NXOUEWin x64:
sha1 d20670a2f41834dfc0828946e187197c1c260992
https://drive.google.com/file/d/0B5QcL4Z6nYEPSm9yTmhDV1gwZ3cVersion 0.5.2fix a race that might have corrupted shares
net: tcp: disable the Nagle algorithm
which reduces network latency in some circumstances
net: lower keepalive for nat-networks
Linux x64:
sha1 6d07aee8134dcd122d68b2b35cf10886dccbbfb8
https://drive.google.com/file/d/0B5QcL4Z6nYEPSzRBU1hoQXp3elkWin x64:
sha1 b57d667e0a4552d2a1a833b33f6aab94a43ecd8e
https://drive.google.com/file/d/0B5QcL4Z6nYEPWVl4bFVhbmhfQjgVersion 0.5.1con: fix reconnection might have give up too early
con: enable TCP Keepalive to prevent nat-routers from
dropping the connection.
ui: output rejected shares
ui: optional output of timestamps
telemetry: make web ui mobile friendly + add share stats
telemetry: json: add more GPU stats
Linux x64:
sha1 98e52d1357187397f201a5379b4e42919e82c7a8
https://drive.google.com/file/d/0B5QcL4Z6nYEPNTdVUEYtbzA4YjgVersion 0.5con: support set_extranonce rpc
con: improve handling of temporary slow network conditions
con: add monitoring support using web browser
con: add monitoring support using json-rpc
mp: rebalance queue sizes - this improves the solution rate as
seen by the pools, especially on pools that submit new jobs often
Linux x64:
sha1 d4debdcf80b2b50c0ed06b55bcaa72262afe41bc
https://drive.google.com/file/d/0B5QcL4Z6nYEPQWgwbVl0Z0xOcGcVersion 0.4.5fix: bad miner performance when using --temp-target
on systems with many GPUs
reduce temperature controller cpu usage
Linux x64:
sha1 e568c6d4353b35c45d25a00b3d172eda7c11ba11
https://drive.google.com/file/d/0B5QcL4Z6nYEPVGpuTkNCMXo2T2MVersion 0.4.4fix: Sol/W might have produced wrong values
fix: Sum not shown if --dev was used
fix: memory leak on reconnection
improve stability
Linux x64:
sha1 60e0cad05e93f57330bf8271799d2a5417d904bc
https://drive.google.com/file/d/0B5QcL4Z6nYEPQjdYS2N5R1UyTkUVersion 0.4.3stratum: support more pools
ui: flush stdout stream
con: improve reconnections
performance improvements 0.3-0.5 %
Linux x64:
sha1 d98792ad93b85f85df66d6e7ab9c2f00aec27cfd
https://drive.google.com/file/d/0B5QcL4Z6nYEPVlBrZmdndHE0VXcVersion 0.4.2mp: more accurate time measurements
ui: calculate efficiency
Linux x64:
sha1 e53545c72c7a378a637962352b63498693f31f9e
https://drive.google.com/file/d/0B5QcL4Z6nYEPTGh5YUFfYUpGUjAVersion 0.4.1improve performance
Linux x64:
sha1 4973ab1b90d2c31cc26671c71e71535727cc9e63
https://drive.google.com/file/d/0B5QcL4Z6nYEPaWlTa2VuTklMejQVersion 0.4.0temperature controller added
cpu: reduce CPU usage
con: improve pool support
minor performance improvement
Linux x64:
sha1 db0a9bcb7784686f0582d2c3f79be1bbc5be5be5
https://drive.google.com/file/d/0B5QcL4Z6nYEPRk5ITDMwck5jaWsVersion 0.3.2mp: improve stability
con: support more pools
con: more robust reconnection support for unreliable
servers which often drop the connection
ui: report GPU temperature
Linux x64:
sha1 cc8b83289055bfb659c57937f08f520e928c7fdc
https://drive.google.com/file/d/0B5QcL4Z6nYEPZFpHSzhDR1FSYnMVersion 0.3.1cpu: reduce CPU usage
Linux x64:
sha1 7077d093b36b1183a80c53abc7b7268e
https://drive.google.com/file/d/0B5QcL4Z6nYEPWVNoS2dfcDdYdEUVersion 0.3con: support encrypted connections
Linux x64:
sha1 58a36a30ea10d58731c5304a4941744de310be5d
https://drive.google.com/file/d/0B5QcL4Z6nYEPckdSYjF3QlJHN0UVersion 0.2.2con: Miner reconnects automatically on connection loss now,
e.g. on DSL-disconnects / public IP-changes
UI: report submitted devfee-shares
Linux x64:
sha1 04551d3f7c9369bccb8cec4bfe404bedee35cf45
https://drive.google.com/file/d/0B5QcL4Z6nYEPQUlVZUJ5LUVNOHMVersion 0.2.1Performance improvements:
- about 4% on Maxwell
- about 1% on Pascal
Linux x64:
sha1 b7ae3a4b1f3567f3855f1b040fc48c253969a6f3
https://drive.google.com/file/d/0B5QcL4Z6nYEPeFVqLWxtNTVvS3MVersion 0.2- Improved pascal perfromance.
- Added support for concurrent mining on multiple GPUs.
- Be asynchronous where possible.
- Security work
Linux x64:
sha1 0ebdcce71fc3ed10f7c70b1d8818f051e2d91613
https://drive.google.com/file/d/0B5QcL4Z6nYEPOVJZd3JrVnR4aEU