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

Commit 7b9d415

Browse files
committedJun 17, 2018
Split docs.
1 parent 644dbaa commit 7b9d415

File tree

4 files changed

+147
-145
lines changed

4 files changed

+147
-145
lines changed
 

‎README.md

+35-145
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
* [Build](#build)
2828
* [Continuous Integration and development builds](#continuous-integration-and-development-builds)
2929
* [Building from source](#building-from-source)
30-
* [CMake configuration options](#cmake-configuration-options)
3130
* [Maintainers & Authors](#maintainers--authors)
3231
* [Contribute](#contribute)
3332
* [F.A.Q.](#faq)
@@ -76,115 +75,9 @@ The AppVeyor system automatically builds a Windows .exe for every commit. The la
7675

7776
To download the .exe on a build under `JOB NAME` select `Configuration: Release`, choose `ARTIFACTS` then download the zip file.
7877

79-
8078
### Building from source
8179

82-
This project uses [CMake] and [Hunter] package manager.
83-
84-
1. Make sure git submodules are up to date:
85-
86-
```sh
87-
git submodule update --init --recursive
88-
```
89-
90-
2. Create a build directory:
91-
92-
```sh
93-
mkdir build; cd build
94-
```
95-
96-
3. Configure the project with CMake. Check out the additional [configuration options](#cmake-configuration-options).
97-
98-
```sh
99-
cmake ..
100-
```
101-
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:
103-
104-
```sh
105-
cmake .. -G "Visual Studio 15 2017 Win64" -T v140
106-
```
107-
108-
4. Build the project using [CMake Build Tool Mode]. This is a portable variant of `make`.
109-
110-
```sh
111-
cmake --build .
112-
```
113-
114-
Note: On Windows, it is possible to have compiler issues if you don't specify the build config. In that case use:
115-
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-
```
152-
153-
5. _(Optional, Linux only)_ Install the built executable.
154-
155-
```sh
156-
sudo make install
157-
```
158-
159-
#### OpenCL support on Linux
160-
161-
If you're planning to use [OpenCL on Linux](https://github.com/ruslo/hunter/wiki/pkg.opencl#pitfalls)
162-
you have to install the OpenGL libraries. E.g. on Ubuntu run:
163-
164-
```sh
165-
sudo apt-get install mesa-common-dev
166-
```
167-
168-
#### Disable Hunter
169-
170-
If you want to install dependencies yourself or use system package manager
171-
you can disable Hunter by adding
172-
[`-DHUNTER_ENABLED=OFF`](https://docs.hunter.sh/en/latest/reference/user-variables.html#hunter-enabled)
173-
to configuration options.
174-
175-
### CMake configuration options
176-
177-
Pass these options to CMake configuration command, e.g.
178-
179-
```sh
180-
cmake .. -DETHASHCUDA=ON -DETHASHCL=OFF
181-
```
182-
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.
187-
80+
See [docs/BUILD.md](docs/BUILD.md) for build/compilation details.
18881

18982
## Maintainers & Authors
19083

@@ -205,7 +98,6 @@ Ordered alphabetically. [Contributors statistics since 2015-08-20].
20598
| Stefan Oberhumer | [@StefanOberhumer](https://github.com/StefanOberhumer) | |
20699

207100

208-
209101
## Contribute
210102

211103
[![Gitter](https://img.shields.io/gitter/room/ethereum-mining/ethminer.svg)][Gitter]
@@ -222,70 +114,68 @@ Licensed under the [GNU General Public License, Version 3](LICENSE).
222114

223115
## F.A.Q
224116

225-
1. Why is my hashrate with Nvidia cards on Windows 10 so low?
117+
### Why is my hashrate with Nvidia cards on Windows 10 so low?
118+
119+
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.
226120

227-
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.
228-
For Kepler GPUs: I actually don't know. Please let me know what works best for good old Kepler.
229-
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.
230-
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.
231-
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.
121+
* For Kepler GPUs: I actually don't know. Please let me know what works best for good old Kepler.
122+
* 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.
123+
* 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.
124+
* 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.
232125

233-
2. Why is a GTX 1080 slower than a GTX 1070?
126+
### Why is a GTX 1080 slower than a GTX 1070?
234127

235-
Because of the GDDR5X memory, which can't be fully utilized for ETH mining (yet).
128+
Because of the GDDR5X memory, which can't be fully utilized for ETH mining (yet).
236129

237-
3. Are AMD cards also affected by slowdowns with increasing DAG size?
130+
### Are AMD cards also affected by slowdowns with increasing DAG size?
238131

239-
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.
132+
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.
240133

241-
4. Can I still mine ETH with my 2GB GPU?
134+
### Can I still mine ETH with my 2GB GPU?
242135

243-
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.
136+
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.
244137

245-
5. What are the optimal launch parameters?
138+
### What are the optimal launch parameters?
246139

247-
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.
140+
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.
248141

249-
6. What does the `--cuda-parallel-hash` flag do?
142+
### What does the `--cuda-parallel-hash` flag do?
250143

251-
[@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.
144+
[@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.
252145

253-
7. What is ethminer's relationship with [Genoil's fork]?
146+
### What is ethminer's relationship with [Genoil's fork]?
254147

255-
[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.
148+
[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.
256149

257-
8. Can I CPU Mine?
150+
### Can I CPU Mine?
258151

259-
No, use geth, the go program made for ethereum by ethereum.
152+
No, use geth, the go program made for ethereum by ethereum.
260153

261-
9. CUDA GPU order changes sometimes. What can I do?
154+
### CUDA GPU order changes sometimes. What can I do?
262155

263-
There is an environment var `CUDA_DEVICE_ORDER` which tells the Nvidia CUDA driver how to enumerates the graphic cards.
264-
The following values are valid:
156+
There is an environment var `CUDA_DEVICE_ORDER` which tells the Nvidia CUDA driver how to enumerates the graphic cards.
157+
The following values are valid:
265158

266-
* `FASTEST_FIRST` (Default) - causes CUDA to guess which device is fastest using a simple heuristic.
267-
* `PCI_BUS_ID` - orders devices by PCI bus ID in ascending order.
159+
* `FASTEST_FIRST` (Default) - causes CUDA to guess which device is fastest using a simple heuristic.
160+
* `PCI_BUS_ID` - orders devices by PCI bus ID in ascending order.
268161

269-
To prevent some unwanted changes in the order of your CUDA devices you **might set the environment variable to `PCI_BUS_ID`**.
270-
This can be done with one of the 2 ways:
162+
To prevent some unwanted changes in the order of your CUDA devices you **might set the environment variable to `PCI_BUS_ID`**.
163+
This can be done with one of the 2 ways:
271164

272-
* Linux:
273-
* Adapt the `/etc/environment` file and add a line `CUDA_DEVICE_ORDER=PCI_BUS_ID`
274-
* Adapt your start script launching ethminer and add a line `export CUDA_DEVICE_ORDER=PCI_BUS_ID`
165+
* Linux:
166+
* Adapt the `/etc/environment` file and add a line `CUDA_DEVICE_ORDER=PCI_BUS_ID`
167+
* Adapt your start script launching ethminer and add a line `export CUDA_DEVICE_ORDER=PCI_BUS_ID`
275168

276-
* Windows:
277-
* Adapt your environment using the control panel (just search `setting environment windows control panel` using your favorite search engine)
278-
* 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)
169+
* Windows:
170+
* Adapt your environment using the control panel (just search `setting environment windows control panel` using your favorite search engine)
171+
* 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)
279172

280173

281174
[Amazon S3 is needed]: https://docs.travis-ci.com/user/uploading-artifacts/
282175
[AppVeyor]: https://ci.appveyor.com/project/ethereum-mining/ethminer
283-
[CMake]: https://cmake.org/
284-
[CMake Build Tool Mode]: https://cmake.org/cmake/help/latest/manual/cmake.1.html#build-tool-mode
285176
[cpp-ethereum]: https://github.com/ethereum/cpp-ethereum
286177
[Contributors statistics since 2015-08-20]: https://github.com/ethereum-mining/ethminer/graphs/contributors?from=2015-08-20
287178
[Genoil's fork]: https://github.com/Genoil/cpp-ethereum
288179
[Gitter]: https://gitter.im/ethereum-mining/ethminer
289-
[Hunter]: https://docs.hunter.sh/
290180
[Releases]: https://github.com/ethereum-mining/ethminer/releases
291181
[Travis CI]: https://travis-ci.org/ethereum-mining/ethminer
File renamed without changes.

‎docs/BUILD.md

+112
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Building from source
2+
3+
## General
4+
5+
This project uses [CMake] and [Hunter] package manager.
6+
7+
1. Make sure git submodules are up to date:
8+
9+
```shell
10+
git submodule update --init --recursive
11+
```
12+
13+
2. Create a build directory:
14+
15+
```shell
16+
mkdir build
17+
cd build
18+
```
19+
20+
3. Configure the project with CMake. Check out the additional [configuration options](#cmake-configuration-options).
21+
22+
```shell
23+
cmake ..
24+
```
25+
26+
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:
27+
28+
```shell
29+
cmake .. -G "Visual Studio 15 2017 Win64" -T v140
30+
```
31+
32+
4. Build the project using [CMake Build Tool Mode]. This is a portable variant of `make`.
33+
34+
```shell
35+
cmake --build .
36+
```
37+
38+
Note: On Windows, it is possible to have compiler issues if you don't specify the build config. In that case use:
39+
40+
```shell
41+
cmake --build . --config Release
42+
```
43+
44+
Complete sample Windows batch file - **adapt it to your system**. Assumes that:
45+
46+
* it's placed one folder up from the ethminer source folder
47+
* you have CMake installed
48+
* you have VS 2017 with the 140 toolset installed; this is needed because CUDA doesn't compile with the 141 toolset currently
49+
* you have Perl installed
50+
51+
```bat
52+
@echo off
53+
setlocal
54+
55+
rem add MSVC in PATH
56+
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\Tools\VsMSBuildCmd.bat"
57+
58+
rem add Perl in PATH; it's needed for OpenSSL build
59+
set "PERL_PATH=C:\Perl\perl\bin"
60+
set "PATH=%PERL_PATH%;%PATH%"
61+
62+
rem switch to ethminer's source folder
63+
cd "%~dp0\ethminer\"
64+
65+
if not exist "build\" mkdir "build\"
66+
67+
cmake -G "Visual Studio 15 2017 Win64" -H. -Bbuild -T v140 -DETHASHCL=ON -DETHASHCUDA=ON -DAPICORE=ON ..
68+
cmake --build . --config Release --target package
69+
70+
endlocal
71+
pause
72+
```
73+
74+
5. _(Optional, Linux only)_ Install the built executable:
75+
76+
```shell
77+
sudo make install
78+
```
79+
80+
## OpenCL support on Linux
81+
82+
If you're planning to use [OpenCL on Linux](https://github.com/ruslo/hunter/wiki/pkg.opencl#pitfalls)
83+
you have to install the OpenGL libraries. E.g. on Ubuntu run:
84+
85+
```shell
86+
sudo apt-get install mesa-common-dev
87+
```
88+
89+
## Disable Hunter
90+
91+
If you want to install dependencies yourself or use system package manager
92+
you can disable Hunter by adding
93+
[`-DHUNTER_ENABLED=OFF`](https://docs.hunter.sh/en/latest/reference/user-variables.html#hunter-enabled)
94+
to configuration options.
95+
96+
## CMake configuration options
97+
98+
Pass these options to CMake configuration command, e.g.
99+
100+
```shell
101+
cmake .. -DETHASHCUDA=ON -DETHASHCL=OFF
102+
```
103+
104+
* `-DETHASHCL=ON` - enable OpenCL mining, `ON` by default,
105+
* `-DETHASHCUDA=ON` - enable CUDA mining, `ON` by default.
106+
* `-DAPICORE=ON` - enable API Server, `ON` by default.
107+
* `-DETHDBUS=ON` - enable D-Bus support, `OFF` by default.
108+
109+
110+
[CMake]: https://cmake.org/
111+
[CMake Build Tool Mode]: https://cmake.org/cmake/help/latest/manual/cmake.1.html#build-tool-mode
112+
[Hunter]: https://docs.hunter.sh/
File renamed without changes.

0 commit comments

Comments
 (0)
This repository has been archived.