#################################################
# 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.
Download: Zcash Nvidia_Miner v0.6.2
Version 0.6.2 update:- fix ssl handshake failures
- fix device selection bug introduced in 0.6.1
- make linux performance improvements introduced in 0.6.1 optional
via 'mq-solver' parameter (due to issues on some systems)
- improve device initialization on large systems
Linux x64: https://mega.nz/#!vqgwhIoD!vH85qJ3aGJkgXrIqPefnhU219oi_EBGJfCXomiFoJ3kWin x64 v0.6.2:https://mega.nz/#F!OQNwTSCa!iSMstLvh4f1lt8Tbe7fQLwPerformance:1080Ti 725-740 Sol/s
1070 440-450 Sol/s
stock settings
UI:Sample output mining on a rig with 8 GPUs.
GPU0-7: 1070Ti
Code:> GPU0 65C 75% | 507.9 Sol/s 504.9 Avg 269.8 I/s | 4.52 S/W 112 W | 3.74 100 39 ++++++++
> GPU1 64C 70% | 508.4 Sol/s 509.1 Avg 273.0 I/s | 4.57 S/W 111 W | 4.11 100 38 +++++++++
> GPU2 62C 70% | 512.9 Sol/s 514.0 Avg 274.0 I/s | 4.60 S/W 110 W | 2.62 100 37 +++++
> GPU3 61C 70% | 502.4 Sol/s 500.8 Avg 266.9 I/s | 4.48 S/W 113 W | 2.24 100 38 ++++++++*
> GPU4 64C 70% | 508.6 Sol/s 508.2 Avg 272.9 I/s | 4.53 S/W 111 W | 1.49 100 38 ++++++++++++
> GPU5 57C 70% | 506.7 Sol/s 504.7 Avg 270.0 I/s | 4.53 S/W 110 W | 1.94 100 38 ++++++++++
> GPU6 59C 70% | 514.5 Sol/s 506.3 Avg 270.4 I/s | 4.55 S/W 112 W | 2.36 100 38 ++++++
> GPU7 64C 75% | 511.1 Sol/s 515.1 Avg 275.2 I/s | 4.62 S/W 109 W | 1.12 100 37 ++++++++
> ============== | 4072.6 Sol/s 4063.3 Avg 2172.1 I/s | 4.55 S/W 891 W | 19.63 100 37 ++++++++++
Sol/s: solutions per second
Avg: average solutions per second
I/s: iterations per second done by the GPU
S/W: efficiency - average Sol/s per Watt
W: power consuption in Watt
last 3 colums: <shares per minute> <accepted shares ratio> <network latency in ms>
> : indicates that a new job was received
+ : indicates one submitted share
* : indicates one submitted dev fee share
= : sum/average if mining on multiple GPUs
Features:To get help just start zm without any arguments
Code:ZM 0.6.2, dstm's ZCASH/Equihash Cuda Miner
Usage:zm --server hostname --port port_nr --user user_name
[--pass password] [options]...
zm --cfg-file[=path]
Stratum:--server Stratum server hostname
prefix hostname with 'ssl://' for encrypted
connections - e.g. ssl://mypool.com
--port Stratum server port number
--user Username
--pass Worker password
Options:--help Print this help
--list-devices List available cuda devices
--dev Space separated list of cuda devices to use.
If this option is not given all available devices
are used.
--time Enable output of timestamps
--color colorize the output
--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 =dev_id:temp-target[,dev_id: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 a constant value when using this setting.
Example: --temp-target=0:65,2:70
--intensity =dev_id:intensity[,dev_id:intensity] ...
Reduce the load which is put on the GPU - valid
intensity range ]1.0-0.0[.
Example: --intensity=0:0.893,2:0.8
--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]
--cfg-file [=path] Use configuration file. All additional command
line options are ignored - configuration is done only
through configuration file. If 'path' is not given
use 'zm.cfg' in current working directory.
--pool =hostname,port_nr,user_name[,pass]
Setup additional failover pools.
Example:zm --server servername.com --port 1234 --user username
BIG THANKS TO SWISSTRADER for providing access to hardware.
Dependencies Linux:openssl 1.0 (for versions <= 0.5.7)
Windows:.Net 2.0+
Version 0.6.2- fix ssl handshake failures
- fix device selection bug introduced in 0.6.1
- make linux performance improvements introduced in 0.6.1 optional
via 'mq-solver' parameter (due to issues on some systems)
- improve device initialization on large systems
Version 0.6.1- fix failover-pool not switching back on ssl errors
- fix failover-pool not switching back on some servers
- add support for stratum's client.reconnect rpc
- support configuration of 'temp-target', 'intensity', 'pool' via cmd-line parameters
- report current difficulty and target on term-ui
- sort output by gpu_id on term-ui
- colorize temperature above 70°C on term-ui
- report intended fan speed on term-ui, web-ui, json-rpc
- report power consumption on term-ui
- improve performance on linux systems by ~2%
Version 0.6- failover pool support
- introduce configuration file
- introduce intensity option
- support per gpu temp-target via cfg-file
- support per gpu intensity via cfg-file
- json-rpc report gpu_name, pci_bus_id, pci_device_id
gpu_uuid
- improve error reporting
- improve handling of invalid server resposes
- improve reconnection in cases where servers
become reachable but respond with malformed data
- ui: add colorized output
- web-ui: use dark colors
Version 0.5.8con: add support for protocol v.01000020
link openssl statically
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
Version 0.5.6reduce cpu load
minor performance improvements
Version 0.5.5con: handle failure of dev share pool
con: disable reconnect limit
logfile: disable buffering
Version 0.5.4
fix: 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
Version 0.5.3
cpu: 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
Version 0.5.2
fix 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
Version 0.5.1
con: 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
Version 0.5
con: 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
Version 0.4.5
fix: bad miner performance when using --temp-target
on systems with many GPUs
reduce temperature controller cpu usage
Version 0.4.4
fix: Sol/W might have produced wrong values
fix: Sum not shown if --dev was used
fix: memory leak on reconnection
improve stability
Version 0.4.3
stratum: support more pools
ui: flush stdout stream
con: improve reconnections
performance improvements 0.3-0.5 %
Version 0.4.2
mp: more accurate time measurements
ui: calculate efficiency
Version 0.4.1
improve performance
Version 0.4.0
temperature controller added
cpu: reduce CPU usage
con: improve pool support
minor performance improvement
Version 0.3.2
mp: improve stability
con: support more pools
con: more robust reconnection support for unreliable
servers which often drop the connection
ui: report GPU temperature
Version 0.3.1
cpu: reduce CPU usage
Version 0.3
con: support encrypted connections
Version 0.2.2
con: Miner reconnects automatically on connection loss now,
e.g. on DSL-disconnects / public IP-changes
UI: report submitted devfee-shares
Version 0.2.1
Performance improvements:
- about 4% on Maxwell
- about 1% on Pascal
Version 0.2
- Improved pascal perfromance.
- Added support for concurrent mining on multiple GPUs.
- Be asynchronous where possible.
- Security work