Sign inSign up

kriation/xmrig

By kriation

•Updated almost 6 years ago

Image
0

1.1K

kriation/xmrig repository overview

⁠xmrig

This container is a CUDA enabled build of xmrig/xmrig. It tracks the head of the master branch at build time. I used the guidance provided in the XMRig Build⁠ documentation for Ubuntu to put this image together.

To minimize the complexity of pulling in the required dependencies and minimizing the size of the image, I use the nvidia/cuda:11-2.0-devel image to build the xmrig binary. In the second stage, I copy the build artifacts to a new image dependent on nvidia/cuda:11.2.0-runtime.

The final image size is ~2.18GB compared to ~4.59GB when using the nvidia development image.

The entrypoint for the final image is /opt/xmrig/xmrig.

This provides the ability to pass arguments at container execution time. For example:

$ docker run --rm --gpus all -it kriation/xmrig:latest \
-t 4 --randomx-1gb-pages --bench=1M --cuda
 * ABOUT        XMRig/6.8.0 gcc/9.3.0
 * LIBS         libuv/1.34.2 OpenSSL/1.1.1f hwloc/2.1.0
 * HUGE PAGES   supported
 * 1GB PAGES    supported
 * CPU          Intel(R) Core(TM) i5-4670K CPU @ 3.40GHz (1) 64-bit AES
                L2:1.0 MB L3:6.0 MB 4C/4T NUMA:1
 * MEMORY       7.4/31.3 GB (24%)
 * DONATE       0%
 * ASSEMBLY     auto:intel
 * POOL #1      benchmark algo auto
 * COMMANDS     hashrate, pause, resume, results, connection
 * OPENCL       disabled
 * CUDA         11.2/11.2/6.5.0
 * CUDA GPU     #0 01:00.0 GeForce GTX 1660 SUPER 1830/7001 MHz smx:22 arch:75 mem:1572/5941 MB
		 bench    start benchmark hashes 1M algo rx/0
		 cpu      use argon2 implementation AVX2
		 randomx  init dataset algo rx/0 (4 threads) seed 0000000000000000...
		 randomx  allocated 3072 MB (2080+256) huge pages 100% 3/3 +JIT (142 ms)
		 randomx  dataset ready (6438 ms)
		 cpu      use profile  *  (4 threads) scratchpad 2048 KB
		 nvidia   use profile  rx  (1 thread) scratchpad 2048 KB
|  # | GPU |  BUS ID | INTENSITY | THREADS | BLOCKS | BF |  BS | MEMORY | NAME
|  0 |   0 | 01:00.0 |       736 |      32 |     23 |  0 |   0 |   1472 | GeForce GTX 1660 SUPER
		 cpu      READY threads 4/4 (4) huge pages 100% 4/4 memory 8192 KB (3 ms)
		 nvidia   READY threads 1/1 (602 ms)
		 nvidia   #0 01:00.0   0W  0C
		 miner    speed 10s/60s/15m 2275.4 n/a n/a H/s max 2277.7 H/s
		 bench    12.55% 125485/1000000 (60.019s)
|    CPU # | AFFINITY | 10s H/s | 60s H/s | 15m H/s |
|        0 |       -1 |   407.6 |   407.7 |     n/a |
|        1 |       -1 |   412.6 |   412.6 |     n/a |
|        2 |       -1 |   636.7 |   636.5 |     n/a |
|        3 |       -1 |   638.8 |   638.5 |     n/a |
|        - |        - |  2095.8 |  2095.3 |     n/a |
|   CUDA # | AFFINITY | 10s  H/s | 60s  H/s | 15m  H/s |
|        0 |       -1 |    181.3 |    180.3 |      n/a | #0 01:00.0 GeForce GTX 1660 SUPER
|        - |        - |    180.4 |    180.3 |      n/a |
		 miner    speed 10s/60s/15m 2276.2 2275.6 n/a H/s max 2277.7 H/s
		 bench    17.89% 178922/1000000 (85.759s)
		 signal   Ctrl+C received, exiting
		 cpu      stopped (1 ms)
		 nvidia   stopped (376 ms)

The prerequisite to using this image is that the NVIDIA container toolkit is configured properly on the container host. The documentation⁠ from NVIDIA on setting the toolkit up is straightforward.

In addition, I highly recommend that Huge Pages, 1GB Pages, and Hardware prefetching be configured per the XMRig documentation⁠. The difference in hashrate on my test rig was more than 30%.

Tag summary

Content type

Image

Digest

Size

1.2 GB

Last updated

almost 6 years ago

docker pull kriation/xmrig