Post
Topic
Board Mining (Altcoins)
Re: [ANN]: cpuminer-opt v3.9.2.3, open source optimized multi-algo CPU miner
by
malafaya
on 07/06/2019, 16:31:18 UTC
This CPU affinity crap is starting to piss me off. That's not what I came back for.
It's taking way too much of my time.

This all started with a request to support CPU groups on Windows. Windows is a
commercial product: it costs money to use it and takes even more money to
develop on it and for it. Enterprise level development (multi-socket, large thread
counts, NUMA, CPU groups, etc) costs even more.

Yet I don't get paid a penny.

From now on any requests for features specific to Windows must be accompanied
by a nominal non-refundable donation. I will do an assessment and determine if I can
do it with my skill level and resources and how much work may be involved. I will
then set a fee payable on completion. The fee will be scaled based on whether the
feature is for consumers or enterprises.

CPU groups is an enterprise feature. I will make one more attempt to fix the current
issues. If that fails I wlll remove the CPU Groups support and revert to v3.8.8.1 affinity..

I got you.
As a side note, I have no problem with CPU affinity not working. Like I said before, I set it externally exactly because it never seemed to be reliable. The only reason I'm doing all this troubleshooting is because you asked why I was was doing that (setting affinity externally) instead of using the built-in feature.
I don't need it fixed. It works for me as is. I just thought you actually wanted to fix it. And again, I'm not using CPU groups.

That said I definitely would prefer efforts to be directed to something more useful, such as performance improvements as well as new algos. So I think we're on the same wavelength.

Cheers.



CPU affinity still does not set correctly in v3.9.2.3. In Task Manager, it seems it still can't affine CPUs above CPU31. Also, some CPUs not specified in the mask are set.

Setting --cpu-affinity=0x55555545555544 with 56 CPUs:


Enough with the overly complex test cases. I've said it before DEFAULTS!

What are the defaults? Not setting affinity? The performance drop is significant in that case.

With default (not set) affinity (all CPUs involved):

Code:
         **********  cpuminer-opt 3.9.2.3  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AES_NI and AVX2 and SHA extensions.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT

CPU: Intel(R) Xeon(R) CPU E5-2660 v4 @ 2.00GHz.
SW built on Jun  5 2019 with GCC 7.3.0.
CPU features: SSE2 AES SSE4.2 AVX AVX2.
SW features: SSE2 AES SSE4.2 AVX AVX2.
Algo features: SSE2.
Start mining with SSE2.

[2019-06-07 17:40:40] 56 CPU cores available, 8 miner threads selected.
[2019-06-07 17:40:40] 8 miner threads started, using 'yespowerr16' algorithm.
[2019-06-07 17:40:40] Starting Stratum on stratum+tcp://***
[2019-06-07 17:40:40] Stratum difficulty set to 1
[2019-06-07 17:41:01] yespowerr16 block 406437, network diff 0.014
[2019-06-07 17:41:53] Share submitted.
[2019-06-07 17:41:53] Accepted 1/1 (100%), diff 0.000167, 1273.16 H/s
[2019-06-07 17:42:14] Share submitted.
[2019-06-07 17:42:14] Accepted 2/2 (100%), diff 1.82e-005, 1275.10 H/s
[2019-06-07 17:42:15] Share submitted.
[2019-06-07 17:42:16] Accepted 3/3 (100%), diff 4.15e-005, 1264.21 H/s

With affinity set externally to some specific CPUs:

Code:
         **********  cpuminer-opt 3.9.2.3  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AES_NI and AVX2 and SHA extensions.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT

CPU: Intel(R) Xeon(R) CPU E5-2660 v4 @ 2.00GHz.
SW built on Jun  5 2019 with GCC 7.3.0.
CPU features: SSE2 AES SSE4.2 AVX AVX2.
SW features: SSE2 AES SSE4.2 AVX AVX2.
Algo features: SSE2.
Start mining with SSE2.

[2019-06-07 17:36:34] 56 CPU cores available, 8 miner threads selected.
[2019-06-07 17:36:34] affine_to_cpu_mask for 1 returned 57
[2019-06-07 17:36:34] 8 miner threads started, using 'yespowerr16' algorithm.
[2019-06-07 17:36:34] affine_to_cpu_mask for 0 returned 57
[2019-06-07 17:36:34] Starting Stratum on stratum+tcp://***
[2019-06-07 17:36:34] affine_to_cpu_mask for 2 returned 57
[2019-06-07 17:36:34] affine_to_cpu_mask for 3 returned 57
[2019-06-07 17:36:34] affine_to_cpu_mask for 4 returned 57
[2019-06-07 17:36:34] affine_to_cpu_mask for 5 returned 57
[2019-06-07 17:36:34] affine_to_cpu_mask for 6 returned 57
[2019-06-07 17:36:34] affine_to_cpu_mask for 7 returned 57
[2019-06-07 17:36:35] Stratum difficulty set to 1
[2019-06-07 17:36:35] yespowerr16 block 406435, network diff 0.013
[2019-06-07 17:36:52] yespowerr16 block 406436, network diff 0.013
[2019-06-07 17:36:55] Share submitted.
[2019-06-07 17:36:55] Accepted 1/1 (100%), diff 2.72e-005, 1423.16 H/s
[2019-06-07 17:37:05] Share submitted.
[2019-06-07 17:37:05] Accepted 2/2 (100%), diff 6.46e-005, 1422.13 H/s