Jump to content

[ANN] dstm's ZCash / Equihash Nvidia Miner v0.6.2 (Linux / Windows)


Recommended Posts

# 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: 
Download Zcash_Nvidia for Linux

Win x64 v0.6.2:
Download Zcash_Nvidia for Windows

1080Ti 725-740 Sol/s
1070 440-450 Sol/s
stock settings

Sample output mining on a rig with 8 GPUs.
GPU0-7: 1070Ti 

> 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

To get help just start zm without any arguments


ZM 0.6.2, dstm's ZCASH/Equihash Cuda Miner

zm --server hostname --port port_nr --user user_name
[--pass password] [options]...

zm --cfg-file[=path]

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

--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 - Example: --telemetry=
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.

zm --server servername.com --port 1234 --user username

BIG THANKS TO SWISSTRADER for providing access to hardware.


openssl 1.0 (for versions <= 0.5.7)

.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
- 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.8
con: add support for protocol v.01000020 
link openssl statically

Version 0.5.7
reduce cpu load
minor performance improvements
con: use single pool connection
con: ssl: clear session data before reconnect
nvml: handle invalid values

Version 0.5.6
reduce cpu load
minor performance improvements

Version 0.5.5
con: 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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...