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
This adds docker support for the project. Docker builds include CPU-only
version, as well as different tags for some NVIDIA compute capability
versions. Deploy scripts are provided, image name and used versions of
both CUDA SDK and CCAP are customizable via env.
Added make argument: upper-cased `CAPP` which accepts version in dotted
notation (e.g. "5.2"); lower-cased `capp` is derived from it, but should
still be directly overridable as any other make's variable.
Instructions in README are updated accordingly. Linux section got
reformatted and reworked and overall became more comprehensible (IMHO).
Adding CI and automatic builds are left as an exercise for curious
readers.
Copy file name to clipboardexpand all lines: README.md
+94-30
Original file line number
Diff line number
Diff line change
@@ -189,45 +189,109 @@ Note: The current relase has been compiled with CUDA SDK 10.0, if you have a dif
189
189
190
190
## Linux
191
191
192
-
Intall CUDA SDK.\
193
-
Depenging on the CUDA SDK version and on your Linux distribution you may need to install an older g++ (just for the CUDA SDK).\
194
-
Edit the makefile and set up the good CUDA SDK path and appropriate compiler for nvcc.
192
+
- Intall CUDA SDK.
193
+
- Install older g++ (just for the CUDA SDK). Depenging on the CUDA SDK version and on your Linux distribution you may need to install an older g++.
194
+
- Install recent gcc. VanitySearch needs to be compiled and linked with a recent gcc (>=7). The current release has been compiled with gcc 7.3.0.
195
+
- Edit the makefile and set up the appropriate CUDA SDK and compiler paths for nvcc. Or pass them as variables to `make` invocation.
196
+
197
+
```make
198
+
CUDA = /usr/local/cuda-8.0
199
+
CXXCUDA = /usr/bin/g++-4.8
200
+
```
201
+
202
+
- You can enter a list of architectrures (refer to nvcc documentation) if you have several GPU with different architecture.
203
+
204
+
- Set CCAP to the desired compute capability according to your hardware. See docker section for more. Compute capability 2.0 (Fermi) is deprecated for recent CUDA SDK.
You can enter a list of architectrure (refer to nvcc documentation) if you have several GPU with different architecture. Compute capability 2.0 (Fermi) is deprecated for recent CUDA SDK.
202
-
VanitySearch need to be compiled and linked with a recent gcc (>=7). The current release has been compiled with gcc 7.3.0.\
203
-
Go to the VanitySearch directory. ccap is the desired compute capability.
Docker images are build for CPU-only version and for each supported CUDA Compute capability version (`CCAP`). Generally, users should choose latest `CCAP` supported by their hardware and driver. Compatibility table can be found on [Wikipedia](https://en.wikipedia.org/wiki/CUDA#GPUs_supported) or at the official NVIDIA web page of your product.
250
+
251
+
Docker uses multi-stage builds to improve final image size. Scripts are provided to facilitate the build process.
252
+
253
+
When building on your own, full image name (including owner/repo parts) can be customized via `IMAGE_NAME` environment variable. It defaults to just `vanitysearch` withour owner part. Pre-built images are available on Docker hub from [@ratijas](https://hub.docker.com/r/ratijas/vanitysearch).
254
+
255
+
#### Docker build / CPU-only
204
256
257
+
Build and tag `vanitysearch:cpu` image:
258
+
```sh
259
+
$ ./docker/cpu/build.sh
205
260
```
206
-
$ g++ -v
207
-
gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)
208
-
$ make all (for build without CUDA support)
209
-
or
210
-
$ make gpu=1 ccap=20 all
261
+
262
+
#### Docker build / GPU
263
+
264
+
Build with "default" GPU support, which might not be suitable for your system:
As for docker-compose folks, sorry, docker-composed GPUs are not (yet) supported on a 3.x branch. But it (hopefully) will change soon.
275
+
276
+
### Docker run
277
+
278
+
Note: VanitySearch image does not (neither should) require network access. To further ensure no data ever leaks from the running container, always pass `--network none` to the docker run command.
279
+
280
+
```sh
281
+
$ docker run -it --rm --gpus all --network none ratijas/vanitysearch:cuda-ccap-5.2 -gpu -c -stop 1docker
282
+
# VanitySearch v1.18
283
+
# Difficulty: 957377813
284
+
# Search: 1docker [Compressed, Case unsensitive] (Lookup size 3)
285
+
# Start Sat Jul 11 17:41:32 2020
286
+
# Base Key: B506F2C7CA8AA2E826F2947012CFF15D2E6CD3DA5C562E8252C9F755F2A4C5D3
0 commit comments