Bitcoin Forum
September 20, 2024, 05:39:47 PM *
News: Latest Bitcoin Core release: 27.1 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Alternate cryptocurrencies / Mining (Altcoins) / [ANN] dstm's ZCash / Equihash Nvidia Miner v0.6.2 (Linux / Windows) on: July 15, 2017, 04:21:52 AM

#################################################
#  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:
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
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
                     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:
 Visual C++ Redistributable for visual studio 2015 (VCRUNTIME140.dll)



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

Linux x64:
executable sha1 87cd45ad538382d0bcad8ecc1077e759e3e9a95
https://mega.nz/#!vqgwhIoD!vH85qJ3aGJkgXrIqPefnhU219oi_EBGJfCXomiFoJ3k

Win x64:
executable sha1 e1da12a3af603f19c69df0c674a2668947776797
https://mega.nz/#!CioUkKAK!iDcjULjgO19gKzI0IVgLVQ1B-ZwrCHZ90ldnZSdbqL0


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%

Linux x64:
executable sha1 7a6f0eb858d8da18116b115a9b46f21187741f8a
https://drive.google.com/file/d/1JKeBTJshILqYpHiu7qRhjvcRhaa4NC5W
https://mega.nz/#!rXpjAC7D!1BLUk0PVwI9BMKLzk0HHUQLx4UBMEZL_1IXh1sJa6uU

Win x64:
executable sha1 c2c5314ca29830044ff26bcfb2dd575f625b825d
https://drive.google.com/file/d/10CQy7Tx63YiP9MbsWmqWMSfCxoZuP3LL
https://mega.nz/#!zLxnhCCS!FSq1L-NNXV7Bg21XTw7ksXPI4DfFDI927Iq1iijyJc0


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

Linux x64:
executable sha1 c5951521699e8f58f339a3a194a8896b27ebfba8
https://drive.google.com/file/d/1Q8kCklgXS9SctNARYyg48RXv4qEyUcQs
https://mega.nz/#!14IS2AbI!Zl9z9ZrWoNRGPQ59Fog15f4tIdPcT40u3fOMkVavHlo

Win x64:
https://drive.google.com/file/d/1kv9tqmrxsedidhws7OtFnEI7j3sJT1sR
https://mega.nz/#!1kRxQRSD!I3ryiEI5eT7datW842QNESyBQpZY6PILYS4HNIEHpYY
executable sha1 4bd604a5de330dae96a5df0525fb44363b1b22ec


Version 0.5.8
con: add support for protocol v.01000020                                                                                      
link openssl statically

Linux x64:
sha1 827b137e061fe1da8f8fbcea12cec22449d3ae13
https://drive.google.com/file/d/19fSFYqoeOhOkxQqKnGpNI3n-7TIppHnq
https://mega.nz/#!vx0QgQ7K!dG2hbzh1KINYsqL9v75YlxpKwq0U7KaualMN6uFW2JY

Win x64:
sha1 bbdab3f21bbce114d972045b9056c64f299ef7a7
https://drive.google.com/file/d/1PrFBWLZmdcoqyCOGiKcy0qO4mKrl7Tm_
https://mega.nz/#!v8lBWYoT!8gRWHeDU9dbZALQfkLUhgi9YuPAIJOyR2gXZxnPpgao


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

Linux x64:
sha1 e7a38b2771e2b8d976435a6b569053d103bc9465
https://drive.google.com/file/d/11e1fSA2cl14xRL8sMA9BA3AhBGQNn4e4

Win x64:
sha1 808dcfc440beb6af98c84420e1299b211033c8ce
https://drive.google.com/file/d/1WTJylr2uJYy_7-5isuja34ONu0WEBhin


Version 0.5.6
reduce 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-Bk


Version 0.5.5
con: handle failure of dev share pool
con: disable reconnect limit
logfile: disable buffering

Linux x64:
sha1 43e52e9494510f98d28152bf2a2e162b7381c379
https://drive.google.com/file/d/1USpxkXUd0Xs29XizG63OGf9w60UGl4Gf

Win x64:
sha1 4bf1cd44c1bfce6b95e0d6fd26139dcde5d818b2
https://drive.google.com/file/d/1Zmq6ZuOStO-bNjK-4XKacKpe66hk1Qwt


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

Linux x64:
sha1 02816754ab46191109bed9f89f17c073000b0950
https://drive.google.com/file/d/12MmjEm-qIpdK7zc22jatQWD9WmAFIOLy

Win x64:
sha1 e4312b348a04348a6229b0098b7862a1306b0145
https://drive.google.com/file/d/1B7d6Qp9WzSPmCC6Yp0BgeyFQ9osdBTqq


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

Linux x64:
sha1 0583d59930a6160f80db612eae089c84712b5f44
https://drive.google.com/file/d/0B5QcL4Z6nYEPcHRuZk5LV3NXOUE

Win x64:
sha1 d20670a2f41834dfc0828946e187197c1c260992
https://drive.google.com/file/d/0B5QcL4Z6nYEPSm9yTmhDV1gwZ3c


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

Linux x64:
sha1 6d07aee8134dcd122d68b2b35cf10886dccbbfb8
https://drive.google.com/file/d/0B5QcL4Z6nYEPSzRBU1hoQXp3elk

Win x64:
sha1 b57d667e0a4552d2a1a833b33f6aab94a43ecd8e
https://drive.google.com/file/d/0B5QcL4Z6nYEPWVl4bFVhbmhfQjg


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

Linux x64:
sha1 98e52d1357187397f201a5379b4e42919e82c7a8
https://drive.google.com/file/d/0B5QcL4Z6nYEPNTdVUEYtbzA4Yjg


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

Linux x64:
sha1 d4debdcf80b2b50c0ed06b55bcaa72262afe41bc
https://drive.google.com/file/d/0B5QcL4Z6nYEPQWgwbVl0Z0xOcGc


Version 0.4.5
fix: 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/0B5QcL4Z6nYEPVGpuTkNCMXo2T2M


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

Linux x64:
sha1 60e0cad05e93f57330bf8271799d2a5417d904bc
https://drive.google.com/file/d/0B5QcL4Z6nYEPQjdYS2N5R1UyTkU


Version 0.4.3
stratum: 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/0B5QcL4Z6nYEPVlBrZmdndHE0VXc


Version 0.4.2
mp: more accurate time measurements
ui: calculate efficiency

Linux x64:
sha1 e53545c72c7a378a637962352b63498693f31f9e
https://drive.google.com/file/d/0B5QcL4Z6nYEPTGh5YUFfYUpGUjA

Version 0.4.1
improve performance

Linux x64:
sha1 4973ab1b90d2c31cc26671c71e71535727cc9e63
https://drive.google.com/file/d/0B5QcL4Z6nYEPaWlTa2VuTklMejQ


Version 0.4.0
temperature controller added
cpu: reduce CPU usage
con: improve pool support
minor performance improvement

Linux x64:
sha1 db0a9bcb7784686f0582d2c3f79be1bbc5be5be5
https://drive.google.com/file/d/0B5QcL4Z6nYEPRk5ITDMwck5jaWs


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

Linux x64:
sha1 cc8b83289055bfb659c57937f08f520e928c7fdc
https://drive.google.com/file/d/0B5QcL4Z6nYEPZFpHSzhDR1FSYnM


Version 0.3.1
cpu: reduce CPU usage

Linux x64:
sha1 7077d093b36b1183a80c53abc7b7268e
https://drive.google.com/file/d/0B5QcL4Z6nYEPWVNoS2dfcDdYdEU


Version 0.3
con: support encrypted connections

Linux x64:
sha1  58a36a30ea10d58731c5304a4941744de310be5d
https://drive.google.com/file/d/0B5QcL4Z6nYEPckdSYjF3QlJHN0U


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

Linux x64:
sha1 04551d3f7c9369bccb8cec4bfe404bedee35cf45
https://drive.google.com/file/d/0B5QcL4Z6nYEPQUlVZUJ5LUVNOHM


Version 0.2.1
Performance improvements:                                                                                                      
- about 4% on Maxwell                                                                                                            
- about 1% on Pascal

Linux x64:
sha1 b7ae3a4b1f3567f3855f1b040fc48c253969a6f3
https://drive.google.com/file/d/0B5QcL4Z6nYEPeFVqLWxtNTVvS3M


Version 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
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!