################################################# # 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 Win x64: Download Zcash Nvidia_Miner Performance: 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: : 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.1, 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 - 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. 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 failuresfix device selection bug introduced in 0.6.1make 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 errorsfix failover-pool not switching back on some serversadd support for stratum’s client.reconnect rpcsupport configuration of ‘temp-target’, ‘intensity’, ‘pool’ via cmd-line parametersreport current difficulty and target on term-uisort output by gpu_id on term-uicolorize temperature above 70°C on term-uireport intended fan speed on term-ui, web-ui, json-rpcreport power consumption on term-uiimprove performance on linux systems by ~2% Version 0.6 failover pool supportintroduce configuration fileintroduce intensity optionsupport per gpu temp-target via cfg-filesupport per gpu intensity via cfg-filejson-rpc report gpu_name, pci_bus_id, pci_device_id gpu_uuidimprove error reportingimprove handling of invalid server resposesimprove reconnection in cases where servers become reachable but respond with malformed dataui: add colorized outputweb-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 Maxwellabout 1% on Pascal Version 0.2 Improved pascal perfromance.Added support for concurrent mining on multiple GPUs.Be asynchronous where possible.Security work