Skip to content
This repository was archived by the owner on Apr 24, 2022. It is now read-only.

Commit 38b5b7c

Browse files
committedJun 17, 2018
Tweak docs.
* fix some typos * remove `host=x64` from the cmake command; we already specify `Win64` in the generator command. * add an example Windows script to build ethminer * assorted Markdown tweaks
1 parent 85e4334 commit 38b5b7c

File tree

4 files changed

+147
-126
lines changed

4 files changed

+147
-126
lines changed
 

‎API_DOCUMENTATION.md

+32-32
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,23 @@ Ethminer implements an API (Application Programming Interface) interface which a
99

1010
Whenever the above depicted conditions are met you can take advantage of the API support by adding the `--api-port` argument to the command line used to launch ethminer. The format of this argument is `--api-port nnnn` where `nnnn` is any valid TCP port number (1-65535). Examples:
1111

12-
```
12+
```shell
1313
./ethminer [...] --api-port 3333
1414
```
1515

1616
This example puts the API interface listening on port 3333 of **any** local IP address which means the loop-back interface (127.0.0.1/127.0.1.1) and any configured IP address of the network card.
1717

1818
The API interface not only offers monitoring queries but also implements some methods which may affect the functioning of the miner. These latter operations are named _write_ actions: if you want to inhibit the invocation of such methods you may want to put the API interface in **read-only** mode which means only query to **get** data will be allowed and no _write_ methods will be allowed. To do this simply add the - (minus) sign in front of the port number thus transforming the port number into a negative number. Example for read-only mode:
1919

20-
```
20+
```shell
2121
./ethminer [...] --api-port -3333
2222
```
2323

2424
_Note. The port number in this examples is taken randomly and does not imply a suggested value. You can use any port number you wish while it's not in use by other applications._
2525

2626
To gain further security you may wish to password protect the access to your API interface simply by adding the `--api-password` argument to the command line sequence, followed by the password you wish. Password may be composed by any printable char and **must not** have spaces. Password checking is **case sensitive**. Example for password protected API interface:
2727

28-
```
28+
```shell
2929
./ethminer [...] --api-port -3333 --api-password MySuperSecurePassword!!#123456
3030
```
3131

@@ -35,17 +35,17 @@ At the time of writing of this document ethminer's API interface does not implem
3535

3636
Access to API interface is performed through a TCP socket connection to the API endpoint (which is the IP address of the computer running ethminer's API instance at the configured port). For instance if your computer address is 192.168.1.1 and have configured ethminer to run with `--api-port 3333` your endpoint will be 192.168.1.1:3333.
3737

38-
Messages exchanged through this channel must conform the [Jsonrpc v.2 specifications](http://www.jsonrpc.org/specification) so basically you will issue **requests** and will get back **responses**. At the time of writing of this document do not expect any **notification**. All messages must be line feed terminated.
38+
Messages exchanged through this channel must conform to the [JSON-RPC 2.0 specification](http://www.jsonrpc.org/specification) so basically you will issue **requests** and will get back **responses**. At the time of writing this document do not expect any **notification**. All messages must be line feed terminated.
3939

40-
To quick test if your ethminer's API instance is working properly you can issue this simple command
40+
To quickly test if your ethminer's API instance is working properly you can issue this simple command:
4141

42-
```
42+
```shell
4343
echo '{"id":0,"jsonrpc":"2.0","method":"miner_ping"}' | netcat 192.168.1.1 3333
4444
```
4545

46-
and will get back a response like this
46+
and will get back a response like this:
4747

48-
```
48+
```shell
4949
{"id":0,"jsonrpc":"2.0","result":"pong"}
5050
```
5151

@@ -83,7 +83,7 @@ If your API instance is password protected by the usage of `--api-password` any
8383
}
8484
```
8585

86-
where the member `psw` **must** contain the very same password configured with `--api-password` argument. As expected result you will get a JsonRpc 2.0 response with positive or negative values. For instance if password do match you will get a response like this
86+
where the member `psw` **must** contain the very same password configured with `--api-password` argument. As expected result you will get a JSON-RPC 2.0 response with positive or negative values. For instance if the password matches you will get a response like this:
8787

8888
```json
8989
{
@@ -93,7 +93,7 @@ where the member `psw` **must** contain the very same password configured with `
9393
}
9494
```
9595

96-
or, in case of any error
96+
or, in case of any error:
9797

9898
```json
9999
{
@@ -120,7 +120,7 @@ To invoke the action:
120120
}
121121
```
122122

123-
and expect back a result like this
123+
and expect back a result like this:
124124

125125
```json
126126
{
@@ -132,11 +132,11 @@ and expect back a result like this
132132

133133
which confirms the action has been performed.
134134

135-
If you get no response or the socket goes timeout it likely your ethminer's instance has become unresponsive (or in worst cases all the OS of your mining rig is unresponsive) and need to be re-started/re-booted.
135+
If you get no response or the socket timeouts it's likely your ethminer's instance has become unresponsive (or in worst cases the OS of your mining rig is unresponsive) and needs to be re-started/re-booted.
136136

137137
### miner_getstat1
138138

139-
With this method you expect back a collection of statistical data. To issue request:
139+
With this method you expect back a collection of statistical data. To issue a request:
140140

141141
```json
142142
{
@@ -146,7 +146,7 @@ With this method you expect back a collection of statistical data. To issue requ
146146
}
147147
```
148148

149-
and expect back a response like this
149+
and expect back a response like this:
150150

151151
```js
152152
{
@@ -170,7 +170,7 @@ Some of the arguments here expressed have been set for compatibility with other
170170

171171
### miner_getstathr
172172

173-
With this method you expect back a collection of statistical data. To issue request:
173+
With this method you expect back a collection of statistical data. To issue a request:
174174

175175
```json
176176
{
@@ -180,7 +180,7 @@ With this method you expect back a collection of statistical data. To issue requ
180180
}
181181
```
182182

183-
and expect back a response like this
183+
and expect back a response like this:
184184

185185
```js
186186
{
@@ -231,7 +231,7 @@ and expect back a response like this
231231
}
232232
```
233233

234-
This format does not honor any compliance with other miner's format and does not express values from dual mining, which, we reiterate, is not supported by ethminer.
234+
This format does not honor any compliance with other miners' format and does not express values from dual mining, which, we reiterate, is not supported by ethminer.
235235

236236
### miner_restart
237237

@@ -243,7 +243,7 @@ With this method you instruct ethminer to _restart_ mining. Restarting means:
243243
* Regenerate DAG files
244244
* Restart mining
245245

246-
The invocation of this method **_may_** be useful if you detect one, or more, GPU are in error but in a recoverable state (eg. no hashrate but the GPU has not fallen off the bus). In other words this method works like stopping ethminer and restarting it **but without loosing connection to the pool**.
246+
The invocation of this method **_may_** be useful if you detect one or more GPUs are in error, but in a recoverable state (eg. no hashrate but the GPU has not fallen off the bus). In other words, this method works like stopping ethminer and restarting it **but without loosing connection to the pool**.
247247

248248
To invoke the action:
249249

@@ -255,7 +255,7 @@ To invoke the action:
255255
}
256256
```
257257

258-
and expect back a result like this
258+
and expect back a result like this:
259259

260260
```json
261261
{
@@ -267,19 +267,19 @@ and expect back a result like this
267267

268268
which confirms the action has been performed.
269269

270-
**Note** This method is not available if API interface is in read-only mode (see above)
270+
**Note**: This method is not available if the API interface is in read-only mode (see above).
271271

272272
### miner_shuffle
273273

274-
The mining process is nothing more that finding the right number (nonce) which, applied to an algorithm (ethash) and some data, gives a result which is below or equal to a given target. This in very very (very) short !
274+
The mining process is nothing more that finding the right number (nonce) which, applied to an algorithm (ethash) and some data, gives a result which is below or equal to a given target. This is very very (very) short!
275275
The range of nonces to be searched is a huge number: 2^64 = 18446744073709600000~ possible values. Each one has the same probability to be the _right_ one.
276276

277-
Every time ethminer receives a job from a pool you'd expect the miner to begin searching from the first but that would be boring. So the concept of scramble nonce has been introduced to achieve these goals:
277+
Every time ethminer receives a job from a pool you'd expect the miner to begin searching from the first, but that would be boring. So the concept of scramble nonce has been introduced to achieve these goals:
278278

279279
* Start the searching from a random point within the range
280-
* Ensure all GPUs do not search the same data, or, in other words, ensure each GPU searches it's own range of numbers without overlapping with the same numbers of other GPUs
280+
* Ensure all GPUs do not search the same data, or, in other words, ensure each GPU searches its own range of numbers without overlapping with the same numbers of the other GPUs
281281

282-
All miner_shuffle method does is to re-initialize a new random scramble nonce to start from in next jobs.
282+
All `miner_shuffle` method does is to re-initialize a new random scramble nonce to start from in next jobs.
283283

284284
To invoke the action:
285285

@@ -291,7 +291,7 @@ To invoke the action:
291291
}
292292
```
293293

294-
and expect back a result like this
294+
and expect back a result like this:
295295

296296
```json
297297
{
@@ -305,7 +305,7 @@ which confirms the action has been performed.
305305

306306
### miner_getconnections
307307

308-
When you launch ethminer you provide a list of connections specified by the `-P` argument. If you want to remotely check which is the list of connections ethminer is using you can issue this method:
308+
When you launch ethminer you provide a list of connections specified by the `-P` argument. If you want to remotely check which is the list of connections ethminer is using, you can issue this method:
309309

310310
```json
311311
{
@@ -315,7 +315,7 @@ When you launch ethminer you provide a list of connections specified by the `-P`
315315
}
316316
```
317317

318-
and expect back a result like this
318+
and expect back a result like this:
319319

320320
```json
321321
{
@@ -341,7 +341,7 @@ and expect back a result like this
341341
}
342342
```
343343

344-
The `result` member contains an array of objects each one with the definition of the connection (in the form of the URI entered with the `-P` argument), it's ordinal index and the indication if it's the currently active connetion.
344+
The `result` member contains an array of objects, each one with the definition of the connection (in the form of the URI entered with the `-P` argument), its ordinal index and the indication if it's the currently active connetion.
345345

346346
### miner_setactiveconnection
347347

@@ -364,7 +364,7 @@ You have to pass the `params` member as an object which has member `index` value
364364
* If the selected index is not of an active connection then ethminer will disconnect from currently active connection and reconnect immediately to the newly selected connection
365365
* An error result if the index is out of bounds or the request is not properly formatted
366366

367-
**Please note** This method changes the runtime behavior only. If you restart ethminer from a batch file the active connection will become again the first one of the `-P` arguments list.
367+
**Please note** that this method changes the runtime behavior only. If you restart ethminer from a batch file the active connection will become again the first one of the `-P` arguments list.
368368

369369
### miner_addconnection
370370

@@ -389,7 +389,7 @@ You have to pass the `params` member as an object which has member `uri` valued
389389

390390
Eventually you may want to issue [miner_getconnections](#miner_getconnections) method to identify which is the ordinal position assigned to the newly added connection and make use of [miner_setactiveconnection](#miner_setactiveconnection) method to instruct ethminer to use it immediately.
391391

392-
**Please note** This method changes the runtime behavior only. If you restart ethminer from a batch file the added connection won't be available if not present in the `-P` arguments list.
392+
**Please note** that this method changes the runtime behavior only. If you restart ethminer from a batch file the added connection won't be available if not present in the `-P` arguments list.
393393

394394
### miner_removeconnection
395395

@@ -411,7 +411,7 @@ You have to pass the `params` member as an object which has member `index` value
411411
* An error if the index is out of bounds **or if the index corresponds to the currently active connection**
412412
* A success message. In such case you can later reissue [miner_getconnections](#miner_getconnections) method to check the connection has been effectively removed.
413413

414-
**Please note** This method changes the runtime behavior only. If you restart ethminer from a batch file the removed connection will become again again available if provided in the `-P` arguments list.
414+
**Please note** that this method changes the runtime behavior only. If you restart ethminer from a batch file the removed connection will become again again available if provided in the `-P` arguments list.
415415

416416
### miner_getscrambleinfo
417417

@@ -433,7 +433,7 @@ To accomplish this each segment has a range 2^40 nonces by default. If you want
433433
}
434434
```
435435

436-
and expect a result like this
436+
and expect a result like this:
437437

438438
```json
439439
{

‎POOL_EXAMPLES_ETH.md

+1-10
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@ The servers are listed in alphabetical order. To get best results reorder them f
3838
| [nicehash.com](#nicehashcom) | <https://www.nicehash.com/> | <https://www.nicehash.com/help/which-stratum-servers-are-available> |
3939
| [sparkpool.com](#sparkpoolcom) | <https://sparkpool.com/> | <https://eth.sparkpool.com/> |
4040

41-
42-
4341
### 2miners.com
4442

4543
```
@@ -84,7 +82,6 @@ Without email
8482
-P stratum1+tcp://ETH_WALLET.WORKERNAME@eth-us2.dwarfpool.com:8008
8583
```
8684

87-
8885
### ethermine.org
8986

9087
Non-SSL connection:
@@ -105,7 +102,6 @@ SSL connection:
105102
-P stratum1+ssl://ETH_WALLET.WORKERNAME@us2.ethermine.org:5555
106103
```
107104

108-
109105
### ethpool.org
110106

111107
```
@@ -114,14 +110,12 @@ SSL connection:
114110
-P stratum1+tcp://ETH_WALLET.WORKERNAME@us1.ethpool.org:3333
115111
```
116112

117-
118113
### f2pool.com
119114

120115
```
121116
-P stratum1+tcp://ETH_WALLET.WORKERNAME@eth.f2pool.com:8008
122117
```
123118

124-
125119
### miningpoolhub.com
126120

127121
```
@@ -130,8 +124,7 @@ SSL connection:
130124
-P stratum2+tcp://USERNAME.WORKERNAME:WORKERPWD@us-east.ethash-hub.miningpoolhub.com:20535
131125
```
132126

133-
HINT: It seems the password is not being verified by the pool so you can use simple 'x' as WORKERPWD.
134-
127+
HINT: It seems the password is not being verified by the pool so you can use a plain `x` as `WORKERPWD`.
135128

136129
### nanopool.org
137130

@@ -155,7 +148,6 @@ Without email:
155148
-P stratum1+tcp://ETH_WALLET.WORKERNAME@eth-us-west1.nanopool.org:9999
156149
```
157150

158-
159151
### nicehash.com
160152

161153
```
@@ -167,7 +159,6 @@ Without email:
167159
-P stratum2+tcp://BTC_WALLET.WORKERNAME@daggerhashimoto.usa.nicehash.com:3353
168160
```
169161

170-
171162
### sparkpool.com
172163

173164
```

‎README.md

+113-83
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,29 @@
88
99
**Ethminer** is an Ethash GPU mining worker: with ethminer you can mine every coin which relies on an Ethash Proof of Work thus including Ethereum, Ethereum Classic, Metaverse, Musicoin, Ellaism, Pirl, Expanse and others. This is the actively maintained version of ethminer. It originates from [cpp-ethereum] project (where GPU mining has been discontinued) and builds on the improvements made in [Genoil's fork]. See [FAQ](#faq) for more details.
1010

11-
### Features
11+
## Features
1212

13-
- OpenCL mining
14-
- Nvidia CUDA mining
15-
- realistic benchmarking against arbitrary epoch/DAG/blocknumber
16-
- on-GPU DAG generation (no more DAG files on disk)
17-
- stratum mining without proxy
18-
- OpenCL devices picking
19-
- farm failover (getwork + stratum)
13+
* OpenCL mining
14+
* Nvidia CUDA mining
15+
* realistic benchmarking against arbitrary epoch/DAG/blocknumber
16+
* on-GPU DAG generation (no more DAG files on disk)
17+
* stratum mining without proxy
18+
* OpenCL devices picking
19+
* farm failover (getwork + stratum)
2020

2121

2222
## Table of Contents
2323

24-
- [Install](#install)
25-
- [Usage](#usage)
26-
- [Examples connecting some pools](#examples-connecting-some-pools)
27-
- [Build](#build)
28-
- [Continuous Integration and development builds](#continuous-integration-and-development-builds)
29-
- [Building from source](#building-from-source)
30-
- [CMake configuration options](#cmake-configuration-options)
31-
- [Maintainer](#maintainer)
32-
- [Contribute](#contribute)
33-
- [F.A.Q.](#faq)
24+
* [Install](#install)
25+
* [Usage](#usage)
26+
* [Examples connecting some pools](#examples-connecting-some-pools)
27+
* [Build](#build)
28+
* [Continuous Integration and development builds](#continuous-integration-and-development-builds)
29+
* [Building from source](#building-from-source)
30+
* [CMake configuration options](#cmake-configuration-options)
31+
* [Maintainer](#maintainer)
32+
* [Contribute](#contribute)
33+
* [F.A.Q.](#faq)
3434

3535

3636
## Install
@@ -44,8 +44,8 @@ accessible from command line. The ethminer is ready to go.
4444

4545
| Builds | Release | Date |
4646
| ------ | ------- | ---- |
47-
| Last | [![GitHub release](https://img.shields.io/github/release/ethereum-mining/ethminer/all.svg)](https://github.com/ethereum-mining/ethminer/releases) | [![GitHub Release Date](https://img.shields.io/github/release-date-pre/ethereum-mining/ethminer.svg)](https://github.com/ethereum-mining/ethminer/releases) |
48-
| Stable | [![GitHub release](https://img.shields.io/github/release/ethereum-mining/ethminer.svg)](https://github.com/ethereum-mining/ethminer/releases) | [![GitHub Release Date](https://img.shields.io/github/release-date/ethereum-mining/ethminer.svg)](https://github.com/ethereum-mining/ethminer/releases) |
47+
| Last | [![GitHub release](https://img.shields.io/github/release/ethereum-mining/ethminer/all.svg)](https://github.com/ethereum-mining/ethminer/releases) | [![GitHub Release Date](https://img.shields.io/github/release-date-pre/ethereum-mining/ethminer.svg)](https://github.com/ethereum-mining/ethminer/releases) |
48+
| Stable | [![GitHub release](https://img.shields.io/github/release/ethereum-mining/ethminer.svg)](https://github.com/ethereum-mining/ethminer/releases) | [![GitHub Release Date](https://img.shields.io/github/release-date/ethereum-mining/ethminer.svg)](https://github.com/ethereum-mining/ethminer/releases) |
4949

5050

5151
## Usage
@@ -59,7 +59,7 @@ For a full list of available command, please run:
5959
ethminer --help
6060
```
6161

62-
### Examples connecting some pools
62+
### Examples connecting to pools
6363

6464
Check our [samples](POOL_EXAMPLES_ETH.md) to see how to connect to different pools.
6565

@@ -74,61 +74,92 @@ Check our [samples](POOL_EXAMPLES_ETH.md) to see how to connect to different poo
7474

7575
The AppVeyor system automatically builds a Windows .exe for every commit. The latest version is always available [on the landing page](https://ci.appveyor.com/project/ethereum-mining/ethminer) or you can [browse the history](https://ci.appveyor.com/project/ethereum-mining/ethminer/history) to access previous builds.
7676

77-
To download the .exe on a build under 'JOB NAME' select 'Configuration: Release', choose 'ARTIFACTS' then download the zip file.
77+
To download the .exe on a build under `JOB NAME` select `Configuration: Release`, choose `ARTIFACTS` then download the zip file.
7878

7979

8080
### Building from source
8181

8282
This project uses [CMake] and [Hunter] package manager.
8383

84-
1. Make sure git submodules are up to date
84+
1. Make sure git submodules are up to date:
8585

86-
```sh
87-
git submodule update --init --recursive
88-
```
86+
```sh
87+
git submodule update --init --recursive
88+
```
8989

90-
2. Create a build directory.
90+
2. Create a build directory:
9191

92-
```sh
93-
mkdir build; cd build
94-
```
92+
```sh
93+
mkdir build; cd build
94+
```
9595

96-
3. Configure the project with CMake. Check out additional
97-
[configuration options](#cmake-configuration-options).
96+
3. Configure the project with CMake. Check out the additional [configuration options](#cmake-configuration-options).
9897

99-
```sh
100-
cmake ..
101-
```
98+
```sh
99+
cmake ..
100+
```
102101

103-
Note: In Windows, it is possible to have issues with VS 2017 compilers, in that case, use VS 2017 installer to get VS 2015 compilers and use:
102+
Note: On Windows, it's possible to have issues with VS 2017 default compilers; in that case, use the VS 2017 installer to get the VS 2015 compilers and use:
104103
105-
```sh
106-
cmake .. -G "Visual Studio 15 2017 Win64" -Tv140,host=x64
107-
```
104+
```sh
105+
cmake .. -G "Visual Studio 15 2017 Win64" -T v140
106+
```
108107
109-
4. Build the project using [CMake Build Tool Mode]. This is a portable variant
110-
of `make`.
108+
4. Build the project using [CMake Build Tool Mode]. This is a portable variant of `make`.
111109
112-
```sh
113-
cmake --build .
114-
```
110+
```sh
111+
cmake --build .
112+
```
115113
116-
Note: In Windows, it is possible to have compiler issues if you don't specify build config. In that case use:
114+
Note: On Windows, it is possible to have compiler issues if you don't specify the build config. In that case use:
117115

118-
```sh
119-
cmake --build . --config Release
120-
```
116+
```sh
117+
cmake --build . --config Release
118+
```
119+
120+
Complete sample Windows batch file - **adapt it to your system**. Assumes that:
121+
122+
* it's placed one folder up from the ethminer source folder
123+
* you have CMake installed
124+
* you have VS 2017 with the 140 toolset installed; this is needed because CUDA doesn't compile with the 141 toolset currently
125+
* you have Perl installed
126+
127+
```bat
128+
@echo off
129+
setlocal
130+
131+
rem add MSVC in PATH
132+
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\Tools\VsMSBuildCmd.bat"
133+
134+
rem add Perl in PATH; it's needed for OpenSSL build
135+
set "PERL_PATH=C:\Perl\perl\bin"
136+
set "PATH=%PERL_PATH%;%PATH%"
137+
138+
rem switch to this script's working difrectory
139+
cd "%~dp0\ethminer\"
140+
141+
rem clean up old build
142+
rem if exist build\ rd /q /s build\
143+
mkdir build\
144+
cd build\
145+
146+
cmake -G "Visual Studio 15 2017 Win64" -H. -Bbuild -T v140 -DETHASHCL=ON -DETHASHCUDA=ON -DAPICORE=ON ..
147+
cmake --build . --config Release --target package
148+
149+
endlocal
150+
pause
151+
```
121152
122153
5. _(Optional, Linux only)_ Install the built executable.
123154
124-
```sh
125-
sudo make install
126-
```
155+
```sh
156+
sudo make install
157+
```
127158
128159
#### OpenCL support on Linux
129160
130161
If you're planning to use [OpenCL on Linux](https://github.com/ruslo/hunter/wiki/pkg.opencl#pitfalls)
131-
you have to install OpenGL libraries. E.g. on Ubuntu run:
162+
you have to install the OpenGL libraries. E.g. on Ubuntu run:
132163
133164
```sh
134165
sudo apt-get install mesa-common-dev
@@ -138,7 +169,7 @@ sudo apt-get install mesa-common-dev
138169
139170
If you want to install dependencies yourself or use system package manager
140171
you can disable Hunter by adding
141-
[-DHUNTER_ENABLED=OFF](https://docs.hunter.sh/en/latest/reference/user-variables.html#hunter-enabled)
172+
[`-DHUNTER_ENABLED=OFF`](https://docs.hunter.sh/en/latest/reference/user-variables.html#hunter-enabled)
142173
to configuration options.
143174
144175
### CMake configuration options
@@ -149,17 +180,17 @@ Pass these options to CMake configuration command, e.g.
149180
cmake .. -DETHASHCUDA=ON -DETHASHCL=OFF
150181
```
151182
152-
- `-DETHASHCL=ON` - enable OpenCL mining, `ON` by default,
153-
- `-DETHASHCUDA=ON` - enable CUDA mining, `ON` by default.
154-
- `-DAPICORE=ON` - enable API Server, `ON` by default.
155-
- `-DETHDBUS=ON` - enable D-Bus support, `OFF` by default.
183+
* `-DETHASHCL=ON` - enable OpenCL mining, `ON` by default,
184+
* `-DETHASHCUDA=ON` - enable CUDA mining, `ON` by default.
185+
* `-DAPICORE=ON` - enable API Server, `ON` by default.
186+
* `-DETHDBUS=ON` - enable D-Bus support, `OFF` by default.
156187
157188
158189
## Maintainer
159190
160191
[![Gitter](https://img.shields.io/gitter/room/ethereum-mining/ethminer.svg)][Gitter]
161192
162-
- Paweł Bylica [@chfast](https://github.com/chfast)
193+
* Paweł Bylica [@chfast](https://github.com/chfast)
163194
164195
165196
## Contribute
@@ -180,59 +211,58 @@ Licensed under the [GNU General Public License, Version 3](LICENSE).
180211
181212
1. Why is my hashrate with Nvidia cards on Windows 10 so low?
182213
183-
The new WDDM 2.x driver on Windows 10 uses a different way of addressing the GPU. This is good for a lot of things, but not for ETH mining.
184-
For Kepler GPUs: I actually don't know. Please let me know what works best for good old Kepler.
185-
For Maxwell 1 GPUs: Unfortunately the issue is a bit more serious on the GTX750Ti, already causing suboptimal performance on Win7 and Linux. Apparently about 4MH/s can still be reached on Linux, which, depending on ETH price, could still be profitable, considering the relatively low power draw.
186-
For Maxwell 2 GPUs: There is a way of mining ETH at Win7/8/Linux speeds on Win10, by downgrading the GPU driver to a Win7 one (350.12 recommended) and using a build that was created using CUDA 6.5.
187-
For Pascal GPUs: You have to use the latest WDDM 2.1 compatible drivers in combination with Windows 10 Anniversary edition in order to get the full potential of your Pascal GPU.
214+
The new WDDM 2.x driver on Windows 10 uses a different way of addressing the GPU. This is good for a lot of things, but not for ETH mining.
215+
For Kepler GPUs: I actually don't know. Please let me know what works best for good old Kepler.
216+
For Maxwell 1 GPUs: Unfortunately the issue is a bit more serious on the GTX750Ti, already causing suboptimal performance on Win7 and Linux. Apparently about 4MH/s can still be reached on Linux, which, depending on ETH price, could still be profitable, considering the relatively low power draw.
217+
For Maxwell 2 GPUs: There is a way of mining ETH at Win7/8/Linux speeds on Win10, by downgrading the GPU driver to a Win7 one (350.12 recommended) and using a build that was created using CUDA 6.5.
218+
For Pascal GPUs: You have to use the latest WDDM 2.1 compatible drivers in combination with Windows 10 Anniversary edition in order to get the full potential of your Pascal GPU.
188219
189220
2. Why is a GTX 1080 slower than a GTX 1070?
190221
191-
Because of the GDDR5X memory, which can't be fully utilized for ETH mining (yet).
222+
Because of the GDDR5X memory, which can't be fully utilized for ETH mining (yet).
192223
193224
3. Are AMD cards also affected by slowdowns with increasing DAG size?
194225
195-
Only GCN 1.0 GPUs (78x0, 79x0, 270, 280), but in a different way. You'll see that on each new epoch (30K blocks), the hashrate will go down a little bit.
226+
Only GCN 1.0 GPUs (78x0, 79x0, 270, 280), but in a different way. You'll see that on each new epoch (30K blocks), the hashrate will go down a little bit.
196227
197228
4. Can I still mine ETH with my 2GB GPU?
198229
199-
Not really, your VRAM must be above the DAG size (Currently about 2.15 GB.) to get best performance. Without it severe hash loss will occur.
230+
Not really, your VRAM must be above the DAG size (Currently about 2.15 GB.) to get best performance. Without it severe hash loss will occur.
200231
201232
5. What are the optimal launch parameters?
202233
203-
The default parameters are fine in most scenario's (CUDA). For OpenCL it varies a bit more. Just play around with the numbers and use powers of 2. GPU's like powers of 2.
234+
The default parameters are fine in most scenario's (CUDA). For OpenCL it varies a bit more. Just play around with the numbers and use powers of 2. GPU's like powers of 2.
204235
205236
6. What does the `--cuda-parallel-hash` flag do?
206237
207-
[@davilizh](https://github.com/davilizh) made improvements to the CUDA kernel hashing process and added this flag to allow changing the number of tasks it runs in parallel. These improvements were optimised for GTX 1060 GPUs which saw a large increase in hashrate, GTX 1070 and GTX 1080/Ti GPUs saw some, but less, improvement. The default value is 4 (which does not need to be set with the flag) and in most cases this will provide the best performance.
238+
[@davilizh](https://github.com/davilizh) made improvements to the CUDA kernel hashing process and added this flag to allow changing the number of tasks it runs in parallel. These improvements were optimised for GTX 1060 GPUs which saw a large increase in hashrate, GTX 1070 and GTX 1080/Ti GPUs saw some, but less, improvement. The default value is 4 (which does not need to be set with the flag) and in most cases this will provide the best performance.
208239
209240
7. What is ethminer's relationship with [Genoil's fork]?
210241
211-
[Genoil's fork] was the original source of this version, but as Genoil is no longer consistently maintaining that fork it became almost impossible for developers to get new code merged there. In the interests of progressing development without waiting for reviews this fork should be considered the active one and Genoil's as legacy code.
242+
[Genoil's fork] was the original source of this version, but as Genoil is no longer consistently maintaining that fork it became almost impossible for developers to get new code merged there. In the interests of progressing development without waiting for reviews this fork should be considered the active one and Genoil's as legacy code.
212243
213244
8. Can I CPU Mine?
214245
215-
No, use geth, the go program made for ethereum by ethereum.
246+
No, use geth, the go program made for ethereum by ethereum.
216247
217248
9. CUDA GPU order changes sometimes. What can I do?
218249
219-
There is an environment var `CUDA_DEVICE_ORDER` which tells the Nvidia CUDA driver how to enumerates the graphic cards.
220-
Following values are valid:
250+
There is an environment var `CUDA_DEVICE_ORDER` which tells the Nvidia CUDA driver how to enumerates the graphic cards.
251+
The following values are valid:
221252
222-
* FASTEST_FIRST (Default) - causes CUDA to guess which device is fastest using a simple heuristic.
223-
* PCI_BUS_ID - orders devices by PCI bus ID in ascending order.
253+
* `FASTEST_FIRST` (Default) - causes CUDA to guess which device is fastest using a simple heuristic.
254+
* `PCI_BUS_ID` - orders devices by PCI bus ID in ascending order.
224255
225-
To prevent some unwanted changes in the order of your CUDA devices you **might set the environment to `PCI_BUS_ID`**.
226-
This can be done:
256+
To prevent some unwanted changes in the order of your CUDA devices you **might set the environment variable to `PCI_BUS_ID`**.
257+
This can be done with one of the 2 ways:
227258
228-
* Linux:
229-
* Adapt /etc/environment file and add a line `CUDA_DEVICE_ORDER=PCI_BUS_ID`
230-
* Adapt your start script launching ethminer and add a line `export CUDA_DEVICE_ORDER=PCI_BUS_ID`
259+
* Linux:
260+
* Adapt the `/etc/environment` file and add a line `CUDA_DEVICE_ORDER=PCI_BUS_ID`
261+
* Adapt your start script launching ethminer and add a line `export CUDA_DEVICE_ORDER=PCI_BUS_ID`
231262
232-
* Windows:
233-
* Adapt your environment using the control panel (just search `setting environment windows control panel` using your favorite search engine)
234-
* Adapt your start (.bat) file launching ethminer and add a line `setx CUDA_DEVICE_ORDER=PCI_BUS_ID` or `set CUDA_DEVICE_ORDER=PCI_BUS_ID`
235-
* For more details about `setx` and `set` see <https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx>
263+
* Windows:
264+
* Adapt your environment using the control panel (just search `setting environment windows control panel` using your favorite search engine)
265+
* Adapt your start (.bat) file launching ethminer and add a line `set CUDA_DEVICE_ORDER=PCI_BUS_ID` or `setx CUDA_DEVICE_ORDER PCI_BUS_ID`. For more info about `set` see [here](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1), for more info about `setx` see [here](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx)
236266
237267
238268
[Amazon S3 is needed]: https://docs.travis-ci.com/user/uploading-artifacts/

‎appveyor.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ install: |
2525
nvcc -V
2626
2727
build_script:
28-
- cmake -G "Visual Studio 15 2017 Win64" -H. -Bbuild -T v140,host=x64 -DETHASHCUDA=ON -DAPICORE=ON -DHUNTER_JOBS_NUMBER=%NUMBER_OF_PROCESSORS%
28+
- cmake -G "Visual Studio 15 2017 Win64" -H. -Bbuild -T v140 -DETHASHCUDA=ON -DAPICORE=ON -DHUNTER_JOBS_NUMBER=%NUMBER_OF_PROCESSORS%
2929
- cmake --build build --config %CONFIGURATION% --target package
3030

3131
after_build:

0 commit comments

Comments
 (0)
This repository has been archived.