You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 24, 2022. It is now read-only.
* 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
Copy file name to clipboardexpand all lines: API_DOCUMENTATION.md
+32-32
Original file line number
Diff line number
Diff line change
@@ -9,23 +9,23 @@ Ethminer implements an API (Application Programming Interface) interface which a
9
9
10
10
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:
11
11
12
-
```
12
+
```shell
13
13
./ethminer [...] --api-port 3333
14
14
```
15
15
16
16
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.
17
17
18
18
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:
19
19
20
-
```
20
+
```shell
21
21
./ethminer [...] --api-port -3333
22
22
```
23
23
24
24
_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._
25
25
26
26
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:
@@ -35,17 +35,17 @@ At the time of writing of this document ethminer's API interface does not implem
35
35
36
36
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.
37
37
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.
39
39
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:
@@ -83,7 +83,7 @@ If your API instance is password protected by the usage of `--api-password` any
83
83
}
84
84
```
85
85
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:
87
87
88
88
```json
89
89
{
@@ -93,7 +93,7 @@ where the member `psw` **must** contain the very same password configured with `
93
93
}
94
94
```
95
95
96
-
or, in case of any error
96
+
or, in case of any error:
97
97
98
98
```json
99
99
{
@@ -120,7 +120,7 @@ To invoke the action:
120
120
}
121
121
```
122
122
123
-
and expect back a result like this
123
+
and expect back a result like this:
124
124
125
125
```json
126
126
{
@@ -132,11 +132,11 @@ and expect back a result like this
132
132
133
133
which confirms the action has been performed.
134
134
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.
136
136
137
137
### miner_getstat1
138
138
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:
140
140
141
141
```json
142
142
{
@@ -146,7 +146,7 @@ With this method you expect back a collection of statistical data. To issue requ
146
146
}
147
147
```
148
148
149
-
and expect back a response like this
149
+
and expect back a response like this:
150
150
151
151
```js
152
152
{
@@ -170,7 +170,7 @@ Some of the arguments here expressed have been set for compatibility with other
170
170
171
171
### miner_getstathr
172
172
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:
174
174
175
175
```json
176
176
{
@@ -180,7 +180,7 @@ With this method you expect back a collection of statistical data. To issue requ
180
180
}
181
181
```
182
182
183
-
and expect back a response like this
183
+
and expect back a response like this:
184
184
185
185
```js
186
186
{
@@ -231,7 +231,7 @@ and expect back a response like this
231
231
}
232
232
```
233
233
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.
235
235
236
236
### miner_restart
237
237
@@ -243,7 +243,7 @@ With this method you instruct ethminer to _restart_ mining. Restarting means:
243
243
* Regenerate DAG files
244
244
* Restart mining
245
245
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**.
247
247
248
248
To invoke the action:
249
249
@@ -255,7 +255,7 @@ To invoke the action:
255
255
}
256
256
```
257
257
258
-
and expect back a result like this
258
+
and expect back a result like this:
259
259
260
260
```json
261
261
{
@@ -267,19 +267,19 @@ and expect back a result like this
267
267
268
268
which confirms the action has been performed.
269
269
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).
271
271
272
272
### miner_shuffle
273
273
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!
275
275
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.
276
276
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:
278
278
279
279
* 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
281
281
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.
283
283
284
284
To invoke the action:
285
285
@@ -291,7 +291,7 @@ To invoke the action:
291
291
}
292
292
```
293
293
294
-
and expect back a result like this
294
+
and expect back a result like this:
295
295
296
296
```json
297
297
{
@@ -305,7 +305,7 @@ which confirms the action has been performed.
305
305
306
306
### miner_getconnections
307
307
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:
309
309
310
310
```json
311
311
{
@@ -315,7 +315,7 @@ When you launch ethminer you provide a list of connections specified by the `-P`
315
315
}
316
316
```
317
317
318
-
and expect back a result like this
318
+
and expect back a result like this:
319
319
320
320
```json
321
321
{
@@ -341,7 +341,7 @@ and expect back a result like this
341
341
}
342
342
```
343
343
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.
345
345
346
346
### miner_setactiveconnection
347
347
@@ -364,7 +364,7 @@ You have to pass the `params` member as an object which has member `index` value
364
364
* 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
365
365
* An error result if the index is out of bounds or the request is not properly formatted
366
366
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.
368
368
369
369
### miner_addconnection
370
370
@@ -389,7 +389,7 @@ You have to pass the `params` member as an object which has member `uri` valued
389
389
390
390
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.
391
391
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.
393
393
394
394
### miner_removeconnection
395
395
@@ -411,7 +411,7 @@ You have to pass the `params` member as an object which has member `index` value
411
411
* An error if the index is out of bounds **or if the index corresponds to the currently active connection**
412
412
* A success message. In such case you can later reissue [miner_getconnections](#miner_getconnections) method to check the connection has been effectively removed.
413
413
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.
415
415
416
416
### miner_getscrambleinfo
417
417
@@ -433,7 +433,7 @@ To accomplish this each segment has a range 2^40 nonces by default. If you want
Copy file name to clipboardexpand all lines: README.md
+113-83
Original file line number
Diff line number
Diff line change
@@ -8,29 +8,29 @@
8
8
9
9
**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.
10
10
11
-
###Features
11
+
## Features
12
12
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)
20
20
21
21
22
22
## Table of Contents
23
23
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)
@@ -59,7 +59,7 @@ For a full list of available command, please run:
59
59
ethminer --help
60
60
```
61
61
62
-
### Examples connecting some pools
62
+
### Examples connecting to pools
63
63
64
64
Check our [samples](POOL_EXAMPLES_ETH.md) to see how to connect to different pools.
65
65
@@ -74,61 +74,92 @@ Check our [samples](POOL_EXAMPLES_ETH.md) to see how to connect to different poo
74
74
75
75
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.
76
76
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.
78
78
79
79
80
80
### Building from source
81
81
82
82
This project uses [CMake] and [Hunter] package manager.
83
83
84
-
1. Make sure git submodules are up to date
84
+
1. Make sure git submodules are up to date:
85
85
86
-
```sh
87
-
git submodule update --init --recursive
88
-
```
86
+
```sh
87
+
git submodule update --init --recursive
88
+
```
89
89
90
-
2. Create a build directory.
90
+
2. Create a build directory:
91
91
92
-
```sh
93
-
mkdir build;cd build
94
-
```
92
+
```sh
93
+
mkdir build;cd build
94
+
```
95
95
96
-
3. Configure the project with CMake. Check out additional
3. Configure the project with CMake. Check out the additional [configuration options](#cmake-configuration-options).
98
97
99
-
```sh
100
-
cmake ..
101
-
```
98
+
```sh
99
+
cmake ..
100
+
```
102
101
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:
104
103
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
+
```
108
107
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`.
111
109
112
-
```sh
113
-
cmake --build .
114
-
```
110
+
```sh
111
+
cmake --build .
112
+
```
115
113
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:
117
115
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
- Paweł Bylica [@chfast](https://github.com/chfast)
193
+
* Paweł Bylica [@chfast](https://github.com/chfast)
163
194
164
195
165
196
## Contribute
@@ -180,59 +211,58 @@ Licensed under the [GNU General Public License, Version 3](LICENSE).
180
211
181
212
1. Why is my hashrate with Nvidia cards on Windows 10 so low?
182
213
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.
188
219
189
220
2. Why is a GTX 1080 slower than a GTX 1070?
190
221
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).
192
223
193
224
3. Are AMD cards also affected by slowdowns with increasing DAG size?
194
225
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.
196
227
197
228
4. Can I still mine ETH with my 2GB GPU?
198
229
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.
200
231
201
232
5. What are the optimal launch parameters?
202
233
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.
204
235
205
236
6. What does the `--cuda-parallel-hash` flag do?
206
237
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 forGTX 1060 GPUs which saw a large increasein 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.
208
239
209
240
7. What is ethminer's relationship with [Genoil's fork]?
210
241
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.
212
243
213
244
8. Can I CPU Mine?
214
245
215
-
No, use geth, the go program made for ethereum by ethereum.
246
+
No, use geth, the go program made for ethereum by ethereum.
216
247
217
248
9. CUDA GPU order changes sometimes. What can I do?
218
249
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:
221
252
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.
224
255
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:
227
258
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`
231
262
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)
236
266
237
267
238
268
[Amazon S3 is needed]: https://docs.travis-ci.com/user/uploading-artifacts/
0 commit comments