diff --git a/README.md b/README.md index 03503e8..902cdf9 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,11 @@ From version 1.5.0a further excavator supports only NiceHash stratums. # Changelog +v1.5.4a +- API version bumped to 0.1.4 +- added algorithm lyra2z +- lyra2rev2 bug fix + v1.5.3a - API version bumped to 0.1.3 - ignore duplicate subscribe calls diff --git a/api/README.md b/api/README.md index dbf2d6f..c39c4a2 100644 --- a/api/README.md +++ b/api/README.md @@ -1,4 +1,4 @@ -# Excavator API Version 0.1.3 +# Excavator API Version 0.1.4 **WARNING! This document is not complete yet and is still being worked on. Also, during Excavator alpha versions, API may change so make sure you check this page always before updating to next alpha version!** @@ -60,8 +60,8 @@ Method | Description [device\.get](#device-get) | Queries particular device - GPU. [devices\.get](#devices-get) | Queries available devices - GPU. [device\.set\.power_limit](#device-set-power-limit) | Sets device power limit in Watts. -[device\.set\.power_mode](#device-set-power-mode) | Sets device power limit in %. [device\.set\.tdp](#device-set-tdp) | Sets device TDP. +[device\.set\.tdp\.simple](#device-set-tdp-simple) | Sets device power mode. [device\.set\.core_delta](#device-set-core-delta) | Sets device core clock (delta +/-). [device\.set\.memory_delta](#device-set-memory-delta) | Sets device memory clock (delta +/-). [device\.set\.fan\.speed](#device-set-fan-speed) | Sets device fan speed. @@ -100,6 +100,7 @@ Method | Description -------|------------ [miner\.stop](#miner-stop) | Stops mining without exiting excavator. [miner\.alive](#miner-alive) | Check the excavator responsiveness. +[state\.set](#state-set) | Set state of all GPU devices. **Miscellaneous methods** @@ -438,18 +439,19 @@ Example response: ``` -# device.set.power_mode -Sets power limit for certain device in %. 0 sets power limit to `gpu_power_limit_min` and 100 to `gpu_power_limit_max` provided by method [device\.get](#device-get). +# device.set.tdp + +Similar as [device\.set\.power_limit](#device-set-power-limit), this method sets TDP in %. Provided TDP limit is in %. Setting TDP too high or too low may fail. Command parameter # | Type | Description -------|---------|--------- 1 | string | Device ID. -2 | string | New power limit in %. +2 | string | New TDP limit %. Example usage: ``` -{"id":1,"method":"device.set.power_mode","params":["0","80"]} +{"id":1,"method":"device.set.tdp","params":["0","80"]} ``` Example response: @@ -460,19 +462,26 @@ Example response: } ``` +# device.set.tdp.simple -# device.set.tdp - -Similar as [device\.set\.power_limit](#device-set-power-limit), this method sets TDP in %. Provided TDP limit is in %. Setting TDP too high or too low may fail. +Sets power mode for certain device. Command parameter # | Type | Description -------|---------|--------- 1 | string | Device ID. -2 | string | New TDP limit %. +2 | string | Power mode (0, 1 or 2). + + +Power mode | Description | Remark +-------|---------|--------- +0 | low | min TDP +1 | medium | between min and max TDP +2 | high | max TDP + Example usage: ``` -{"id":1,"method":"device.set.tdp","params":["0","80"]} +{"id":1,"method":"device.set.tdp.simple","params":["0","1"]} ``` Example response: @@ -483,7 +492,6 @@ Example response: } ``` - # device.set.core_delta Sets delta of max core clock of GPU. Provided clock delta is in MHz. Note that this clock is not achieved if GPU is TDP limited. @@ -1098,6 +1106,78 @@ Example response: } ``` + +# state.set + +Set state of all GPU devices. This is an alternative method to calling [subscribe](#subscribe), [algorithm\.add](#algorithm-add), [algorithm\.remove](#algorithm-remove) and [worker\.add](#worker-add). Its main purpose is to make switching between different algorithms easier. + +This method takes one parameter of param object type as input. + +Param object: + +Field name | Type | Description +------------|-------------------------|------------ +btc_address | string | Username and password (split with :) +stratum_url | string | Stratum URL (hostname with port) +devices | array of device objects | + +Device object: + +Field name | Type | Description +------------|-------------------------|------------ +device_uuid | string | Universally unique identifier (UUID) of device +algorithm | string | Algorithm name (see list of supported algorithms for [NVIDIA](https://github.com/nicehash/excavator/tree/master/nvidia)) +params | array of strings | Algorithm (optional) parameters + + +Example usage: +``` +{ + "id": 1, + "method": "state.set", + "params": { + "btc_address": "34HKWdzLxWBduUfJE9JxaFhoXnfC6gmePG.test2:x", + "stratum_url": "nhmp.usa.nicehash.com:3200", + "devices": [ + { + "device_uuid": "GPU-fc05ecf6-b928-749b-5089-bcb77fc8db11", + "algorithm": "daggerhashimoto", + "params": [ + "B=9184", + "TPB=128", + "HPW=4", + "S=1" + ] + }, + { + "device_uuid": "GPU-f66f42d1-ff8c-6a00-3a3b-7445c538d6e1", + "algorithm": "lyra2rev2", + "params": [] + } + ] + } +} +``` + +Example response: +``` +{ + "devices": [ + { + "device_uuid": "GPU-fc05ecf6-b928-749b-5089-bcb77fc8db11", + "error": null + }, + { + "device_uuid": "GPU-f66f42d1-ff8c-6a00-3a3b-7445c538d6e1", + "error": null + } + ], + "id": 1, + "error": null +} +``` + + # info Returns basic information about Excavator. @@ -1184,10 +1264,15 @@ Example response: ``` # Changelog + +* v0.1.4 (excavator v1.5.4a) + - Renamed device\.set\.power_mode method to [device\.set\.tdp\.simple](#device-set-tdp-simple). + - Added [state\.set](#state-set) method. + * v0.1.3 (excavator v1.5.3a) - Added [miner\.alive](#miner-alive) method. - Added `devices[i]/display_mode` to [device\.list](#device-list) method. - - Added [device\.set\.power_mode](#device-set-power-mode) method. + - Added `device\.set\.power_mode` method. - Added `devices[i]/gpu_power_mode` to [device\.get](#device-get) and [devices\.get](#devices-get) methods. * v0.1.2 (excavator v1.5.2a) diff --git a/command_file_switching_example.json b/command_file_switching_example.json new file mode 100644 index 0000000..8222796 --- /dev/null +++ b/command_file_switching_example.json @@ -0,0 +1,51 @@ +[ + {"time": 0,"commands": [ + { + "id": 1, + "method": "state.set", + "params": { + "btc_address": "34HKWdzLxWBduUfJE9JxaFhoXnfC6gmePG.test", + "stratum_url": "nhmp.usa.nicehash.com:3200", + "devices": [ + { + "device_uuid": "GPU-8f6552ba-76e8-4e86-c2bb-53b69fb685ef", + "algorithm": "equihash", + "params": [] + }, + { + "device_uuid": "GPU-6de5ebad-b2b8-7ce9-995c-35eece4e66ab", + "algorithm": "equihash", + "params": [] + } + ] + } + } + ] + }, + {"time":10, "loop": 10, "commands":[ + {"id":1,"method":"worker.print.speeds","params":[]} + ]}, + {"time": 30,"commands": [ + { + "id": 1, + "method": "state.set", + "params": { + "btc_address": "34HKWdzLxWBduUfJE9JxaFhoXnfC6gmePG.test", + "stratum_url": "nhmp.usa.nicehash.com:3200", + "devices": [ + { + "device_uuid": "GPU-8f6552ba-76e8-4e86-c2bb-53b69fb685ef", + "algorithm": "lyra2rev2", + "params": [] + }, + { + "device_uuid": "GPU-6de5ebad-b2b8-7ce9-995c-35eece4e66ab", + "algorithm": "lyra2rev2", + "params": [] + } + ] + } + } + ] + } +] \ No newline at end of file diff --git a/nvidia/README.md b/nvidia/README.md index e8f0f28..3161299 100644 --- a/nvidia/README.md +++ b/nvidia/README.md @@ -16,6 +16,7 @@ Name | Supported devices | Wcount*1 | Pcount*2 [keccak](#keccak)| NVIDIA SM 5.0+ | 1 |3 [neoscrypt](#neoscrypt)| NVIDIA SM 5.0+ | 1 |1 [cryptonightV7](#cryptonightV7)| NVIDIA SM 5.0+ | 1 |2 +[lyra2z](#lyra2z)| NVIDIA SM 5.0+ | 1 | 1 *1 Recommended number of workers per device to reach optimal speeds. @@ -228,4 +229,14 @@ Parameter # or name | Range | Explanation If no parameters are provided or '0' is specified, the device specific default values will be used. -**WARNING: This algorithm is optimized for the following cards: 1080 Ti, 1080, 1070 Ti, 1070, 1060 6GB, 1060 3GB, 1050 Ti, 1050, 1030, TITAN X, 980 Ti, 980, 970, 960, 950 and TITAN V.** +**WARNING: This algorithm is optimized for the following cards: 1080 Ti, 1080, 1070 Ti, 1070, 1060 6GB, 1060 3GB, 1050 Ti, 1050, 1030, TITAN X, 980 Ti, 980, 970, 960, 950 and TITAN V. You may reach higher speeds by experimenting with parameters when using a different card.** + +# lyra2z + +Parameter # or name | Range | Explanation +-----------------|----------|--------- +1 or `B` | 0-inf | Number of blocks + +If no parameters are provided, device specific defaults are used. If provided parameter is '0' then device specific default value is used. + +**WARNING: This algorithm is optimized for the following cards: 1080 Ti, 1080, 1070 Ti, 1070, 1060 6GB, 1060 3GB, 1050 Ti, 1050 and TITAN V. You may reach higher speeds by experimenting with parameters when using a different card.**