├── MANUAL.md ├── MERIT.md └── README.md /MANUAL.md: -------------------------------------------------------------------------------- 1 | # zjazz CUDA miner - User Manual # 2 | 3 | ## Listing GPU devices ## 4 | 5 | To list the available GPU devices, use the `-n` (or `--ndevs`) argument: 6 | 7 | > `zjazz_cuda -n` 8 | 9 | First column will show the device #, this is the id to reference the device when needed by other command line arguments. 10 | 11 | ## Selecting a list of GPUs to mine with 12 | 13 | By default the miner will use all the existing devices. If you want to select a set of devices to mine with, use the argument `-d` (or `--device`) as many times as needed followed by the device #. For example, to select the #0, #2 and #5 devices: 14 | 15 | > `zjazz_cuda -d 0 -d 2 -d 5 ............` 16 | 17 | ## Setting the algorithm/coin to mine ## 18 | 19 | The algorithm/coin to mine is selected with the `-a` (or `--algo`) argument, followed by the parameter that defines the algorithm/coin for example: 20 | 21 | > `zjazz_cuda -a cuckoo ........` 22 | 23 | Here's a list of available parameters and their coin and algorithm: 24 | 25 | | Parameter | Coin | Algorithm | 26 | | --------- | ------- | --------- | 27 | | `cuckoo` | Merit | cuckoo | 28 | | `bitcash` | BitCash | cuckoo | 29 | 30 | ## Setting the pool to mine 31 | 32 | To set the pool to mine the URL and username are required arguments. Also an optional password argument is allowed. Only stratum URLs are allowed. 33 | 34 | To set the URL use the `-o` (or `--url`) argument, to set the username use the `-u` (or `--user`) argument and to set the password use the `-p` (or `--pass`) argument. 35 | 36 | For example, to set the pool eu.icemining.ca with the port 3333, username ABCD and the password P1: 37 | 38 | > `zjazz_cuda -o stratum+tcp://eu.icemining.ca:3333 -u ABCD -p P1 ........` 39 | 40 | ## Setting more than one pool to mine (failover pool) 41 | 42 | It is recommended to set more than one pool to mine, it will guarantee that if for some reason the connection with the pool is lost (pool down for example) the miner will automatically switch to the other pool/s. 43 | 44 | The way to set it is as easy as adding multiple times the URL, username (and password if needed). For example, extending the example of the "Setting the pool to mine" section to use pool.merit.me with username EFGH as failover pool: 45 | 46 | > `zjazz_cuda -o stratum+tcp://eu.icemining.ca:3333 -u ABCD -o stratum+tcp://pool.merit.me:3333 -u EFGH` 47 | 48 | Note that the user argument (`-u`) must always follow the URL argument (`-o`). 49 | 50 | Number of pools are not limited, you can set as pools as you need. Switching from one pool to the next one will always be done in a sequential order. 51 | 52 | ## Setting the number of threads per GPU 53 | 54 | By default each GPU uses 1 mining thread. Depending on the algorithm, hashrate can be improved by using more threads per GPU. For each extra thread used the amount of GPU memory (and swap memory file size on Windows) will be incremented. 55 | 56 | To set the number of threads for all the GPUs to a specific value use the argument `-g` (or `--gpu-threads`) followed by the number of threads to use, for example this will set to 2 the number of threads used by all the GPUs: 57 | 58 | > `zjazz_cuda -g 2 .........` 59 | 60 | To set the different number of threads per GPU device instead of a global one, use the argument to select the device (`-d` or `--device`) and after it set the threads for that device with the parameter `--device-gpu-threads` followed by the number of threads to be used on that device. For example, to set the number of threads for the device #0 to 2, for the device #4 to 1 and for the device #5 to 3: 61 | 62 | > `zjazz -d 0 --device-gpu-threads 2 -d 4 --device-gpu-threads 1 -d 5 --device-gpu-threads 3` 63 | 64 | If the `--device-gpu-threads` argument is not specified for a GPU device it will use the global threads per GPU (defined with the `-g` argument). If global was not defined it will use only 1 thread. 65 | 66 | ## View hashrate of each GPU device 67 | 68 | By default, each few seconds a total hashrate message is printed to the output with the 1 minute and 10 minute hashrate averages. 69 | 70 | Adding the argument `--hashrate-per-gpu` to the command line will also print the hashrate per GPU device. 71 | 72 | ## Connection status (ok/ko) 73 | 74 | On every output message printed by the miner, the second column contains the word `ok` (green color) or `ko` (red color). 75 | 76 | `ok` means that the connection with the pool is active. 77 | 78 | `ko` means that the connection with the pool has been lost. When this happens the miner stops the mining process on all the GPUs until reconnection with the pool is resolved. If a failover pool/s is set the miner will try to connect with the next pool in the list. 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /MERIT.md: -------------------------------------------------------------------------------- 1 | # MERIT guide - zjazz CUDA miner # 2 | 3 | ## Mining Modes ## 4 | 5 | ### Default CPU Assistance Mode (Fastest) ### 6 | 7 | The most optimal way to mine Merit with GPU is to use some CPU to assist the GPU with some tasks. The more GPUs used to mine, the more CPU needed. 8 | 9 | By default *zjazz CUDA miner* uses this mode, you don't have to specify any special parameter to enable it. 10 | 11 | ### Minimum CPU Assistance Mode ### 12 | 13 | *zjazz CUDA miner* has a Merit mining mode where CPU time used to assist each GPU is reduced, about half CPU usage compared with the default mode. Hashrate will be lower but compared with the official Merit miner will be equal or a bit faster and will use less CPU. 14 | 15 | To enable this mode, use the command line parameter `--cuckoo-cpu-assist-min` 16 | 17 | ### No CPU usage ### 18 | 19 | There's another mode where no CPU is used but hashrate will drop significantly. 20 | 21 | To enable this mode, use the command line parameter `--cuckoo-cpu-assist-disabled` 22 | 23 | ## Threads per GPU ## 24 | 25 | By default *zjazz CUDA miner* uses 1 thread per GPU. Increasing the number of threads per GPU will improve hashrate but it will use more GPU memory and more CPU. 26 | 27 | If possible (due the extra memory-CPU resources needed) it is recommended to use more than 1 thread per GPU, 2 threads is a good number. 28 | 29 | To set the number of threads, use the command line paramter `-g X` where X is the number of threads. 30 | For example:`-g 2` 31 | 32 | ## Hashrate ## 33 | 34 | Cuckoo is a special POW algorithm. Hashrate is measured as cycles per second. 35 | 36 | ### Edge bits ### 37 | 38 | Depending on the historical evolution of the network difficulty, MeritCoin sets a parameter of the Cuckoo algorithm named *Edge Bits* to a specific value. For example, at the moment of writing this document *Edge Bits* is 26. 39 | 40 | *Edge Bits* affects to the cycles/sec that a miner can achieve. The bigger *Edge Bits* is lower cycles/s can be achieved. This factor is very important when comparing hashrate between miners. 41 | 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # zjazz CUDA miner # 2 | 3 | **Download link:** [https://github.com/zjazz/zjazz_cuda_miner/releases](https://github.com/zjazz/zjazz_cuda_miner/releases) 4 | 5 | This is a Windows and Linux miner for nVidia CUDA GPUs. 6 | 7 | Windows requires CUDA 9.1 (or higher). Linux CUDA 9.1 and CUDA 9.2 packages available. 8 | 9 | User manual available here: https://github.com/zjazz/zjazz_cuda_miner/blob/master/MANUAL.md 10 | 11 | ### Support/Contact ### 12 | 13 | Discord channel: https://discord.gg/FRUVSJT 14 | 15 | ### Devfee ### 16 | 17 | 2% devfee, it starts randomly. 18 | 19 | ### Algorithms / Hashrates ### 20 | 21 | #### Cuckoo (MeritCoin) ### 22 | 23 | Cuckoo is used to mine MeritCoin. 24 | 25 | Check the [Merit guide](https://github.com/zjazz/zjazz_cuda_miner/blob/master/MERIT.md) for properly tuning the miner. 26 | 27 | #### Cuckoo (BitCash) 28 | 29 | BitCash uses a variant of Merit's cuckoo algorithm. Use command line algorithm name *bitcash* to select it. 30 | 31 | ### Usage ### 32 | 33 | For a complete list of options, add --help to command line arguments list. 34 | 35 | ### License ### 36 | 37 | Use -l command line argument to print the full license (including thirdparty software licenses). 38 | 39 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 40 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 41 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 42 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 43 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 44 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 45 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 46 | 47 | ### Donations ### 48 | 49 | BTC: 1Fx8QDdyFJt3NWLkuKeBvsv4nNrFTNK9X7 50 | 51 | Merit: MUkd3GdqNCCsaHmCSAeNRnAaAGi7M4v7Xo 52 | 53 | --------------------------------------------------------------------------------