Skip to content

Commit

Permalink
to ver 1.5.4a
Browse files Browse the repository at this point in the history
  • Loading branch information
t4njast committed May 30, 2018
1 parent 0293051 commit 999f885
Show file tree
Hide file tree
Showing 4 changed files with 166 additions and 14 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
111 changes: 98 additions & 13 deletions api/README.md
Original file line number Diff line number Diff line change
@@ -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!**

Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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**

Expand Down Expand Up @@ -438,18 +439,19 @@ Example response:
```


# <a name="device-set-power-mode"></a> 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).
# <a name="device-set-tdp"></a> 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:
Expand All @@ -460,19 +462,26 @@ Example response:
}
```

# <a name="device-set-tdp-simple"></a> device.set.tdp.simple

# <a name="device-set-tdp"></a> 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:
Expand All @@ -483,7 +492,6 @@ Example response:
}
```


# <a name="device-set-core-delta"></a> 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.
Expand Down Expand Up @@ -1098,6 +1106,78 @@ Example response:
}
```


# <a name="state-set"></a> 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
}
```


# <a name="info"></a> info

Returns basic information about Excavator.
Expand Down Expand Up @@ -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)
Expand Down
51 changes: 51 additions & 0 deletions command_file_switching_example.json
Original file line number Diff line number Diff line change
@@ -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": []
}
]
}
}
]
}
]
13 changes: 12 additions & 1 deletion nvidia/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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.**

# <a name="lyra2z"></a> 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.**

0 comments on commit 999f885

Please sign in to comment.