SChernykh / CryptonightR

CryptonightV2 with random math proof of concept
GNU General Public License v3.0
12 stars 3 forks source link

CryptonightR testing #2

Closed SChernykh closed 5 years ago

SChernykh commented 5 years ago

Test results will be collected here. Please post your hashrate and power consumption (if you can measure it) compared to latest xmrig/xmrig-amd release on CryptonightV2.

1-2% hashrate drop is normal because CPU/GPU miner code is not fully optimized yet. In case there is a significant hashrate drop on some hardware, we have an option to reduce random math size appropriately.

Basic algorithm description:

Optimized CPU miner:

Optimized GPU miner:

Test pools:

tevador commented 5 years ago

What options should I use with xmrig?

SChernykh commented 5 years ago

Exactly the same as you would use for CNv2. We're comparing algorithms performance given everything else is the same. The only difference with CNv2 is the integer math part, so it makes sense.

ghost commented 5 years ago

Intel Core i5-8250U CPU @ 1.60GHz

CNv2 xmrig/xmrig as of commit 2b0b71b

[2018-12-25 10:50:46] accepted (28/0) diff 1380 (134 ms)
| THREAD | AFFINITY | 10s H/s | 60s H/s | 15m H/s |
|      0 |       -1 |    35.2 |    36.0 |    37.4 |
[2018-12-25 10:51:06] speed 10s/60s/15m 35.2 36.0 37.4 H/s max 40.0 H/s
$ sudo powerstat -d 0
Running for 480.0 seconds (48 samples at 10.0 second intervals).
System:  10.60 Watts on average with standard deviation 0.29

CN/R SChernykh/xmrig as of commit 25ca347

[2018-12-25 10:34:55] accepted (26/0) diff 1770 (108 ms)
| THREAD | AFFINITY | 10s H/s | 60s H/s | 15m H/s |
|      0 |        0 |    32.9 |    34.3 |    36.0 |
[2018-12-25 10:34:57] speed 10s/60s/15m 32.9 34.3 36.0 H/s max 39.8 H/s
$ sudo powerstat -d 0
Running for 480.0 seconds (48 samples at 10.0 second intervals).
System:  10.62 Watts on average with standard deviation 0.44 
ghost commented 5 years ago

Ryzen 2200g (4MB CPU L3), 2 threads, 376bbb:

SChernykh commented 5 years ago

Hmm, it's normal if it's 1-2% slower than CNv2 because current code is not fully optimized yet, but bigger difference means I'll have to reduce random math size a bit.

SChernykh commented 5 years ago

NVIDIA GPUs can now be tested: xmrig-nvidia

SChernykh commented 5 years ago

GeForce GTX 1080 Ti (2025 MHz core, 11800 MHz memory):

numerys commented 5 years ago

I can't open an issue at xmrig/CryptonightR. There is no problem to compile or run it, but how can I pick CryptonightR to be used? I can't find any entry in config.json. I tried --variant r but still, algo is shown cn/2.

numerys commented 5 years ago

xmrig: POOL #1 testnet.wowne.ro:3333 variant auto

ghost commented 5 years ago

@gvgit

git clone https://github.com/SChernykh/xmrig
git checkout CryptonightR
mkdir build && cd build
cmake ..
make
./xmrig --config=/home/USER/xmrig/src/config.json
SChernykh commented 5 years ago

@gvgit Just use config.json from src folder, miner should select cn/r when mining to testnet.wowne.ro

BigslimVdub commented 5 years ago

Intel i7 4870HQ with one thread 63hs on CNv2 and 61hs on CNr on Ubuntu 18.10

i7 4870hq cnr i7 4870hq cnv2
tevador commented 5 years ago

Ryzen 1700, 8 threads.

cn/2 = 538.9 H/s cn/r = 528.4 H/s

Power consumption at the wall looks about the same (47±1) W above idle.

SChernykh commented 5 years ago

Intel Core i5-3210M (Ivy Bridge), 1 thread:

Update: cn/r fluctuates between 66.9 - 67.9 H/s depending on block height, averages to the same 67.4 H/s.


C:\Users\User\Documents\GitHub\xmrig\build\Release>xmrig-notls.exe
 * ABOUT        XMRig/2.8.5-dev MSVC/2017
 * LIBS         libuv/1.23.0
 * HUGE PAGES   available
 * CPU          Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz (1) x64 AES
 * CPU L2/L3    0.5 MB/3.0 MB
 * THREADS      1, cryptonight, donate=1%
 * ASSEMBLY     auto:intel
 * POOL #1      killallasics.moneroworld.com:7777 variant auto
 * COMMANDS     hashrate, pause, resume
[2018-12-29 11:54:49] READY (CPU) threads 1(1) huge pages 1/1 100% memory 2.0 MB
[2018-12-29 11:54:49] use pool killallasics.moneroworld.com:7777  66.85.74.134
[2018-12-29 11:54:49] new job from killallasics.moneroworld.com:7777 diff 10000 algo cn/2 height 0
[2018-12-29 11:55:53] speed 10s/60s/15m 65.8 67.2 n/a H/s max 67.4 H/s
[2018-12-29 11:56:53] speed 10s/60s/15m 67.4 67.3 n/a H/s max 67.4 H/s
[2018-12-29 11:57:20] new job from killallasics.moneroworld.com:7777 diff 6623 algo cn/2 height 0
[2018-12-29 11:57:30] Ctrl+C received, exiting

C:\Users\User\Documents\GitHub\xmrig\build\Release>xmrig-notls.exe
 * ABOUT        XMRig/2.8.5-dev MSVC/2017
 * LIBS         libuv/1.23.0
 * HUGE PAGES   available
 * CPU          Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz (1) x64 AES
 * CPU L2/L3    0.5 MB/3.0 MB
 * THREADS      1, cryptonight, donate=1%
 * ASSEMBLY     auto:intel
 * POOL #1      testnet.wowne.ro:3333 variant auto
 * COMMANDS     hashrate, pause, resume
[2018-12-29 11:57:58] use pool testnet.wowne.ro:3333  159.69.41.143
[2018-12-29 11:57:58] new job from testnet.wowne.ro:3333 diff 10000 algo cn/r height 2081
[2018-12-29 11:57:58] READY (CPU) threads 1(1) huge pages 1/1 100% memory 2.0 MB
[2018-12-29 11:59:02] speed 10s/60s/15m 67.6 67.6 n/a H/s max 67.6 H/s
[2018-12-29 12:00:02] speed 10s/60s/15m 67.6 67.6 n/a H/s max 67.7 H/s
[2018-12-29 12:00:04] accepted (1/0) diff 10000 (77 ms)
[2018-12-29 12:01:02] speed 10s/60s/15m 67.6 67.6 n/a H/s max 67.7 H/s
[2018-12-29 12:01:04] Ctrl+C received, exiting
ghost commented 5 years ago

AMD RX560

It's not a mistake, CN/r ran faster on my card ...

Edit: CN/2 was running 2.8.5, maybe that's why ...

SChernykh commented 5 years ago

@fuwa0529 You should be able to use the same compiled binary both for cn/2 and cn/r. Just use normal cn/2 pool for testing.

ghost commented 5 years ago
Bathmat commented 5 years ago

Just tried testing the latest xmrig-amd here: https://github.com/SChernykh/xmrig-amd/tree/CryptonightR

and ended up with continuous error: Error CL_INVALID_PROGRAM_EXECUTABLE when calling clEnqueueNDRangeKernel for kernel 1.

SChernykh commented 5 years ago

@Bathmat What OS/driver version? Did you spot any other errors in the log?

Bathmat commented 5 years ago

@SChernykh Win10 1803, Driver: 18.5.1, was testing 3 GPUs: RX480, RX570, RX470 all 4gb. Here were the hashrate results (obviously wrong):

| THREAD | GPU | 10s H/s | 60s H/s | 15m H/s |
|      0 |   1 |   479.5 |     n/a |     n/a |
|      1 |   1 |   465.2 |     n/a |     n/a |
|      2 |   2 |  8305.0 |     n/a |     n/a |
|      3 |   2 |  8330.5 |     n/a |     n/a |
|      4 |   3 |  8396.0 |     n/a |     n/a |
|      5 |   3 |  8402.1 |     n/a |     n/a |
[2018-12-30 15:08:30] speed 10s/60s/15m 34378.2 n/a n/a H/s max n/a H/s

However, I did see a few results accepted by the pool. EDIT: Looks like I was only getting a few shares accepted, others were rejected (2/1) diff 5000 "Low difficulty share" (384 ms)

SChernykh commented 5 years ago

So you got it working on the first GPU by the looks of things, interesting...

Bathmat commented 5 years ago

So you got it working on the first GPU by the looks of things, interesting...

Yeah, not sure why the others aren't working

SChernykh commented 5 years ago

It can be something with background compilation code, I'll need to go through and check it one more time. I've only tested it with 1 GPU so far.

SChernykh commented 5 years ago

@Bathmat Can you post it as a separate github issue?

Bathmat commented 5 years ago

Tested 3 AMD GPUs using xmrig-amd (RX480, RX570, RX470, all 4GB memory). O/S: Win10 1803 Driver: 18.5.1

CN/2: Total: 2770 h/s

GPU1: 469.5 x2 = 939 h/s (82W in HWMonitor) GPU2: 453.8 x2 = 907.6 h/s (95W in HWMonitor) GPU3: 461.4 x2 = 922.8 h/s (74W in HWMonitor)

CN/R: Total: 2780 h/s

| THREAD | GPU | 10s H/s | 60s H/s | 15m H/s |
|      0 |   1 |   469.8 |   469.3 |     n/a |
|      1 |   1 |   467.6 |   469.0 |     n/a |
|      2 |   2 |   460.2 |   459.6 |     n/a |
|      3 |   2 |   459.5 |   459.5 |     n/a |
|      4 |   3 |   461.0 |   461.1 |     n/a |
|      5 |   3 |   461.4 |   461.4 |     n/a |
[2018-12-31 05:44:34] speed 10s/60s/15m 2779.5 2779.8 n/a H/s max 2785.3 H/s

CN/R looks slightly faster than CN/2, although most of that appears to be coming from GPU2. Power consumption for CN/R looked identical to CN/2 in HWMonitor.

Bathmat commented 5 years ago

I don't think this is a major issue, but I am noticing some rejects if a share is found while each thread is still being updated for the new block template.

[2018-12-31 05:48:49] accepted (38/4) diff 91501 (182 ms)
[2018-12-31 05:48:49] new job from testnet.wowne.ro:3333 diff 91501 algo cn/r height 2495
[2018-12-31 05:48:49] Thread #1 updated CryptonightR in 0.001s
[2018-12-31 05:48:49] Thread #5 updated CryptonightR in 0.000s
[2018-12-31 05:48:50] Thread #2 updated CryptonightR in 0.000s
[2018-12-31 05:48:50] Thread #0 updated CryptonightR in 0.000s
[2018-12-31 05:48:50] Thread #4 updated CryptonightR in 0.000s
[2018-12-31 05:48:51] new job from testnet.wowne.ro:3333 diff 91501 algo cn/r height 2495
[2018-12-31 05:48:51] speed 10s/60s/15m 2760.5 2770.7 n/a H/s max 2789.4 H/s
[2018-12-31 05:48:51] rejected (38/5) diff 91501 "Low difficulty share" (379 ms)
[2018-12-31 05:48:51] Thread #3 updated CryptonightR in 0.000s
[2018-12-31 05:48:51] Thread #1 updated CryptonightR in 0.000s
[2018-12-31 05:48:51] Thread #5 updated CryptonightR in 0.000s
[2018-12-31 05:48:52] Thread #2 updated CryptonightR in 0.000s
[2018-12-31 05:48:52] Thread #0 updated CryptonightR in 0.000s
[2018-12-31 05:48:52] Thread #4 updated CryptonightR in 0.000s
[2018-12-31 05:48:57] accepted (39/5) diff 91501 (187 ms)
[2018-12-31 05:48:58] new job from testnet.wowne.ro:3333 diff 91501 algo cn/r height 2496
[2018-12-31 05:48:58] Thread #2 updated CryptonightR in 0.000s
[2018-12-31 05:48:58] Thread #4 updated CryptonightR in 0.000s
[2018-12-31 05:48:59] Thread #1 updated CryptonightR in 0.001s
[2018-12-31 05:48:59] Thread #3 updated CryptonightR in 0.000s
[2018-12-31 05:48:59] Thread #5 updated CryptonightR in 0.000s
[2018-12-31 05:49:00] Thread #0 updated CryptonightR in 0.000s
SChernykh commented 5 years ago

I am noticing some rejects if a share is found while each thread is still being updated for the new block template.

These are stale shares: it takes ~2 seconds to do 1 full hash round, so sometimes new job arrives before current batch of hashes is finished. Usually pools accept them, but testnet pool is just not configured to do so.

CN/R looks slightly faster than CN/2, although most of that appears to be coming from GPU2. Power consumption for CN/R looked identical to CN/2 in HWMonitor.

I see 2770 h/s for CN/2 and 2780 h/s for CN/R in your data, can't say for sure that CN/R is faster.

Bathmat commented 5 years ago

I see 2770 h/s for CN/2 and 2780 h/s for CN/R in your data, can't say for sure that CN/R is faster.

Oops, yep, typo in my comment. But yeah, they are about the same. Only GPU2 is getting a slight boost on CN/R for some reason. That one is a Sapphire Pulse ITX RX570 4GB.

SChernykh commented 5 years ago

Dual Opteron 6276 (CN/2 mining config, 16 physical cores, 24 threads)

Opteron 6276 (single thread)

These are 15 minute averages, instant hashrate changes between 764 and 862 H/s (53.2 - 64.2 H/s for single thread) depending on block height.

Old Opterons (Bulldozer core) were hit hard with CN/2 (-30%), so it's good to see them get back some of their speed with CN/R. Optimal mining config for CN/R might be different from CN/2 because single thread improvement is larger than it is with 24 threads.

SChernykh commented 5 years ago

@BigslimVdub

Intel i7 4870HQ with one thread 63hs on CNv2 and 61hs on CNr on Ubuntu 18.10

I've just noticed that it shows "cn/0" on your second screenshot, so 63 H/s is probably cn/0 hashrate. CN/2 and CN/R should have the same hashrate on Intel processors according to my test.

SChernykh commented 5 years ago

AMD Ryzen 5 2600 @ 4 GHz, single thread:

So far it's the only CPU that slowed down noticeably (-1.8%), but it's because CN/2 Ryzen code is super-optimized and CN/R code is generic and not optimized yet.

AMD Vega 64 (stock, 2 threads, intensity 1920, worksize 16, strided_index 2, mem_chunk 2, unroll_factor 8):

AMD Vega 64 (downclocked to 850/500 MHz, 2 threads, intensity 1920, worksize 16, strided_index 2, mem_chunk 2, unroll_factor 8):

Performance and power are exactly the same as CN/2 for Vega 64, and it stays the same if core/memory speed changes.

SChernykh commented 5 years ago

GeForce GTX 1050 (stock, threads: 88, blocks: 10, bfactor: 8, bsleep: 0, sync_mode: 3):

SChernykh commented 5 years ago

Intel Pentium G5400 (Coffee Lake 3.7 GHz, 2 threads):

I'll be tweaking code generator this week to reduce hashrate fluctuations and to make sure CN/R is not slower on modern CPUs.

SChernykh commented 5 years ago

AMD Radeon RX 560 on Windows 10 1809: core @ 1196 MHz, memory @ 2200 MHz, 1 Click PBE Timing Straps, 18.6.1 drivers, monitor plugged in, 2 threads (intensity 512, worksize 32, strided_index 2, mem_chunk 2, unroll 8):

SChernykh commented 5 years ago

I've started updating code generator in various repositories, so this round of testing is over. Second round will start next week and it will require testnet reset and pool update.

waskilsmart commented 3 years ago

I'm mining for hours now I didn't receive anything in my wallet