Skip to content

Commit

Permalink
to ver 1.3.1a
Browse files Browse the repository at this point in the history
  • Loading branch information
Tanja committed Oct 2, 2017
1 parent fcfd947 commit 8f13888
Show file tree
Hide file tree
Showing 4 changed files with 245 additions and 97 deletions.
32 changes: 23 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# NiceHash Excavator

Excavator is GPU miner by NiceHash for mining various altcoins on [NiceHash.com](https://www.nicehash.com) and other pools. Excavator is being actively developed by djeZo and zawawa. Miner is using custom built code base with modern approach and supporting modern video cards - NVIDIA and AMD. For AMD support, please see [AMD readme](amd/README.md) for important details.
Excavator is GPU miner by NiceHash for mining various altcoins on [NiceHash.com](https://www.nicehash.com) and other pools. Excavator is being actively developed by djeZo, zawawa, dropky and voidstar. Miner is using custom built code base with modern approach and supporting modern video cards - NVIDIA and AMD. For AMD support, please see [AMD readme](amd/README.md) for important details.

Download from here: https://github.com/nicehash/excavator/releases

Expand All @@ -14,29 +14,29 @@ First, make sure you have Visual C++ 2013 redistributable (x64) installed.

**ADVANCED** There are two methods to use Excavator. Both rely on API commands you can find in [API section](/api).

1. Using API port or HTTP API; for that, you need an application that will pass commands to the Excavator. We do not provide any such application (except [web example](/web)), nor there is any public source code available (yet).
1. Using API port or HTTP API; for that, you need an application that will pass commands to the Excavator. We do not provide any such application (except [web example](/web)), nor there is any public source code available (yet).

The API works over standard TCP port and is JSON-message based with '\n' terminated messages. Do note that once you build up such application, you virtually have no limits anymore. You can truly optimize your mining to the max; you can launch various algorithms (at the same time), you can randomly assign workers (turn devices on off), do dual/triple mining, algorithm switching, adjusting TDPs, core or memory clock and fan speeds. Additionally to that, you can also read various GPU parameters and algorithm speeds reached by GPUs.

Default API bind port is 3456, but you can change it with '-p' command line parameter.

HTTP API is disabled by default. You can enable it by configuring [command line parameters](#cmdline).

2. Using start-up commanding file. See example [default_command_file.json](default_command_file.json).

File contains a JSON array of all actions that would happen during runtime of Excavator. Each array item has two mandatory fields and one optional. Mandatory is 'time' which tells you after how many seconds since start of Excavator commands should execute and 'commands' which is a JSON array of commands you can find in [API section](/api).
File contains a JSON array of all actions that would happen during runtime of Excavator. Each array item has two mandatory fields and one optional. Mandatory is 'time' which tells you after how many seconds since start of Excavator commands should execute and 'commands' which is a JSON array of commands you can find in [API section](/api).

Optionally you can specify 'loop' which repeat commands every 'loop' seconds. When creating algorithms and workers, note that IDs of returned objects always run from 0 and on, so first algorithm always has ID 0, second 1 etc.
Optionally you can specify 'loop' which repeat commands every 'loop' seconds. When creating algorithms and workers, note that IDs of returned objects always run from 0 and on, so first algorithm always has ID 0, second 1 etc.

You will want to figure out ID of each card; use telnet to connect to Excavator then send command
You will want to figure out ID of each card; use telnet to connect to Excavator then send command
> {"id":1,"method":"device.list","params":[]}
to retreive all available devices and their IDs.

After you have your commanding file ready, use '-c' command line switch to provide file name when starting Excavator.

We suggest using [excavator+web+restart_script.bat](excavator+web+restart_script.bat) that automatically launches web browser displaying status and has a restart script to put Excavator back on if it crashes.

Excavator also supports configuring console logging level and file logging level. Level '0' means full detail logging, level '6' means no logging. By default console logging is set to '2', file logging set to '6'. You can change file logging with '-f' and console logging with '-d' command line parameters.

To get details about specific algorithms that are available in Excavator, check [AMD information](/amd) or [NVIDIA information](/nvidia).
Expand All @@ -60,11 +60,25 @@ Parameter | Range | Description | Default

# Additional Notices

WARNING! Excavator supports overclocking. Use overclocking at your own risk. OVERCLOCKING MAY PERMANENTLY DAMAGE YOUR COMPUTER HARDWARE!
WARNING! Excavator supports overclocking. Use overclocking at your own risk. OVERCLOCKING MAY PERMANENTLY DAMAGE YOUR COMPUTER HARDWARE!


# Changelog

v1.3.1a
- bug fixes & improvements
- equihash speed improvement
- support for P106-100 and P104-100

v1.3.0a
- bug fixes & improvements
- improve DAG cache handling for daggerhashimoto/ethash
- improve hardware acceleration, including reduced power consumption and named parameters for memory timings etc
- added dual mining CUDA daggerhashimoto_sia, daggerhashimoto_pascal, daggerhashimoto_decred
- speed improvements for CUDA sia
- added CUDA DAG device memory storage
- added initial Linux support

v1.2.11a
- added support for TITAN Xp
- added algorithm CUDA lyra2rev2
Expand Down
62 changes: 48 additions & 14 deletions api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Method | Description | Supported NVIDIA | Supported AMD | Developer notes
[device\.set\.tdp](#device-set-tdp) | Sets device TDP. | Yes | No | AMD pending
[device\.set\.core_delta](#device-set-core-delta) | Sets device core clock (delta +/-). | Yes | No | AMD pending
[device\.set\.memory_delta](#device-set-memory-delta) | Sets device memory clock (delta +/-). | Yes | No | AMD pending
[device\.set\.fan\.speed](#device-set-fan-speed) | Sets device fan speed. | Yes | Yes |
[device\.set\.fan\.speed](#device-set-fan-speed) | Sets device fan speed. | Yes | Yes |
[device\.set\.fan\.reset](#device-set-fan-reset) | Resets device fan speed. | Yes | No | AMD pending

**Algorithm managing methods**
Expand Down Expand Up @@ -179,6 +179,8 @@ Response field | Type | Description
`gpu_clock_memory` | int | Maximal GPU core clock (non restricted by temperature or power throttling).
`gpu_fan_speed` | int | Current fan speed in %.
`gpu_fan_speed_rpm` | int | Current fan speed in RPMs.
`gpu_memory_free` | int | Free GPU memory in bytes.
`gpu_memory_used` | int | Used GPU memory in bytes.

Example usage:
```
Expand Down Expand Up @@ -210,6 +212,8 @@ Example response:
"gpu_clock_memory":5513,
"gpu_fan_speed":40,
"gpu_fan_speed_rpm":0,
"gpu_memory_free": 3066073088,
"gpu_memory_used": 155152384,
"id":1,
"error":null
}
Expand Down Expand Up @@ -363,8 +367,10 @@ Command parameter # | Type | Description
1 | string | Algorithm name (see list of supported algorithms for [NVIDIA](https://github.com/nicehash/excavator/tree/master/nvidia) and [AMD](https://github.com/nicehash/excavator/tree/master/amd)).
2 | string | Stratum URL (hostname with port, without `stratum+tcp://` prefix).
3 | string | Username and password (split with `:`);
4+ | string | _OPTIONAL PARAMETER_. Stratum URL for second algorithm when dual mining.
5+| string | _OPTIONAL PARAMETER_. Username and password for second algorithm when dual mining.

_REMARKS_ If provided parameter 2 is `"benchmark"` then no connection is established to the remote pool, but rather benchmark dummy job is used for serving mining work.
_REMARKS_ If provided parameter 2 or 4 is `"benchmark"` then no connection is established to the remote pool, but rather benchmark dummy job is used for serving mining work.

Response field | Type | Description
------|---------|---------
Expand All @@ -375,6 +381,11 @@ Example usage:
{"id":1,"method":"algorithm.add","params":["equihash","equihash.eu.nicehash.com:3357","34HKWdzLxWBduUfJE9JxaFhoXnfC6gmePG.test2:x"]}
```

Example usage 2:
```
{"id":1,"method":"algorithm.add","params":["daggerhashimoto_decred","daggerhashimoto.eu.nicehash.com:3353","34HKWdzLxWBduUfJE9JxaFhoXnfC6gmePG.test2:x", "decred.eu.nicehash.com:3354","34HKWdzLxWBduUfJE9JxaFhoXnfC6gmePG.test2:x"]}
```

Example response:
```
{
Expand Down Expand Up @@ -446,47 +457,70 @@ Example response:
{
"algorithm_id":0,
"name":"equihash",
"connected":true,
"got_job":true,
"details":
"pools":[
{
"total_shares":10,
"total_accepted":10,
"total_rejected":0,
"last_efficiency":1.0
"connected":true,
"got_job":true,
"details":
{
"total_shares":10,
"total_accepted":10,
"total_rejected":0,
"last_efficiency":1.0
},
"address":"equihash.eu.nicehash.com:3357",
"login":"34HKWdzLxWBduUfJE9JxaFhoXnfC6gmePG.test2:x"
},
"address":"equihash.eu.nicehash.com:3357",
"login":"34HKWdzLxWBduUfJE9JxaFhoXnfC6gmePG.test2:x",
{
"connected":false,
"got_job":false,
"details":
{
},
"address":"benchmark",
"login":"benchmark"
}
],
"workers":[
{
"worker_id":0,
"device_id":0,
"params":[
],
"speed":433.22
"speed":[
433.22,
0.0
]
},
{
"worker_id":1,
"device_id":1,
"params":[
],
"speed":155.28
"speed":[
155.28,
0.0
]
},
{
"worker_id":2,
"device_id":1,
"params":[
],
"speed":152.72
"speed":[
152.72,
0.0
]
}
]
}
],
"id":1,
"error":null
}
```

Expand Down
Loading

0 comments on commit 8f13888

Please sign in to comment.