Pages:
Author

Topic: [ANN]: cpuminer-opt v3.8.8.1, open source optimized multi-algo CPU miner - page 79. (Read 444067 times)

newbie
Activity: 25
Merit: 0
joblo, I set cpu affinity for each physical core:
cpuminer-aes-avx2 -a cryptonight -o stratum+tcp://xmr-usa.dwarfpool.com:8005 -u x -p x --cpu-affinity 1 --cpu-priority 0 --threads=1 --api-bind 127.0.0.1:4001
cpuminer-aes-avx2 -a cryptonight -o stratum+tcp://xmr-usa.dwarfpool.com:8005 -u x -p x --cpu-affinity 4 --cpu-priority 0 --threads=1 --api-bind 127.0.0.1:4003
cpuminer-aes-avx2 -a cryptonight -o stratum+tcp://xmr-usa.dwarfpool.com:8005 -u x -p x --cpu-affinity 16 --cpu-priority 0 --threads=1 --api-bind 127.0.0.1:4005
etc, all the way to
cpuminer-aes-avx2 -a cryptonight -o stratum+tcp://xmr-usa.dwarfpool.com:8005 -u x -p x --cpu-affinity 16384 --cpu-priority 0 --threads=1 --api-bind 127.0.0.1:4015
Otherwise it'll create 16 threads and totally load the cpu saturating the L3 cache.
I tried two instances loading each core in each CCX as well and got poor performance if both instances were running. Excellent performance on just one CCX.

For dmd-gr, I tried both versions with this batch:
cpuminer-aes-avx2 -a dmd-gr -o stratum+tcp://us.miningfield.com:3377 -u x -p x --cpu-affinity 43690 --cpu-priority 0 --threads=8 --api-bind 127.0.0.1:4050
I've tried it even bare with just:
cpuminer-aes-avx2 -a dmd-gr -o stratum+tcp://us.miningfield.com:3377 -u x -p x
and I still get this type of error:

cpuminer-aes-avx2 -a dmd-gr -o stratum+tcp://us.miningfield.com:3377 -u x -p x --cpu-affinity 43690 --cpu-priority 0 --threads=8 --api-bind 127.0.0.1:4050

         **********  cpuminer-opt 3.6.1  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AES_NI and AVX extensions.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
     Forked from TPruvot's cpuminer-multi with credits
     to Lucas Jones, elmad, palmd, djm34, pooler, ig0tik3d,
     Wolf0, Jeff Garzik and Optiminer.

CPU: AMD Ryzen 7 1800X Eight-Core Processor
CPU features: SSE2 AES AVX AVX2 SHA
SW built on Mar 31 2017 with GCC 4.8.3
SW features: SSE2 AES AVX AVX2
Algo features: SSE2 AES
Start mining with SSE2 AES

[2017-04-03 22:11:34] Binding process to cpu mask aaaa
[2017-04-03 22:11:34] Starting Stratum on stratum+tcp://us.miningfield.com:3377
[2017-04-03 22:11:34] 8 miner threads started, using 'groestl' algorithm.
[2017-04-03 22:11:35] Stratum difficulty set to 2
[2017-04-03 22:11:40] CPU #5: 262.14 kH, 231.76 kH/s
---
[2017-04-03 22:12:08] groestl block 2095709, diff 23.937
[2017-04-03 22:12:08] CPU #7: 4446.27 kH, 229.69 kH/s
---
[2017-04-03 22:12:15] Rejected 1/1 (100.0%), 32.35 MH, 1823.37 kH/s
[2017-04-03 22:12:15] reject reason: low difficulty share of 0.000002147823651040806
[2017-04-03 22:12:15] factor reduced to : 0.67
[2017-04-03 22:12:17] groestl block 2095710, diff 23.937
[2017-04-03 22:12:17] CPU #6: 2005.34 kH, 228.80 kH/s
---
[2017-04-03 22:12:23] Rejected 2/2 (100.0%), 15.32 MH, 1825.43 kH/s
[2017-04-03 22:12:23] reject reason: low difficulty share of 3.377616876539221e-7
[2017-04-03 22:12:23] factor reduced to : 0.44

cpuminer-aes-avx2 -a dmd-gr -o stratum+tcp://us.miningfield.com:3377 -u x -p x --cpu-affinity 43690 --cpu-priority 0 --threads=8 --api-bind 127.0.0.1:4050

         **********  cpuminer-opt 3.5.9.1  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AES_NI and AVX extensions.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
     Forked from TPruvot's cpuminer-multi with credits
     to Lucas Jones, elmad, palmd, djm34, pooler, ig0tik3d,
     Wolf0, Jeff Garzik and Optiminer.

CPU: AMD Ryzen 7 1800X Eight-Core Processor
CPU features: SSE2 AES AVX AVX2
SW built on Mar  4 2017 with GCC 4.8.3
SW features: SSE2 AES AVX AVX2
Algo features: SSE2 AES
Start mining with SSE2 AES

[2017-04-03 22:14:15] Binding process to cpu mask aaaa
[2017-04-03 22:14:15] Starting Stratum on stratum+tcp://us.miningfield.com:3377
[2017-04-03 22:14:15] 8 miner threads started, using 'groestl' algorithm.
[2017-04-03 22:14:15] Stratum difficulty set to 2
[2017-04-03 22:14:18] groestl block 2095712, diff 25.841
[2017-04-03 22:14:20] CPU #4: 262.14 kH, 232.48 kH/s
-
[2017-04-03 22:14:20] Rejected 1/1 (100.0%), 1871.29 kH, 1841.03 kH/s
[2017-04-03 22:14:20] reject reason: low difficulty share of 1.030424417006305e-7
[2017-04-03 22:14:20] factor reduced to : 0.67

edit: Also tried -a groestl
legendary
Activity: 1470
Merit: 1114
I've retested groestl and it is definitely broken in 3.6.1 but works for me on 3.5.9.1.
legendary
Activity: 1470
Merit: 1114
joblo, I know this is separate from my issues with dmd-gr. With cryptonight, I get the best rates with my R7 if I run separate instances for each physical core.

I'll look into the groestl problem.

Your experience with the R7 is interesting. How do you set affinity for each instance?
The default affinity assigns thread 0 to CPU 0, thread 1 to CPU 1 etc.
This works with Intel's mapping to assign one thread to each core before a second thread to any core.
If AMD maps differently the default affinity may not be best. You can see the actual thread assignment
using the -D option.
newbie
Activity: 25
Merit: 0
joblo, I know this is separate from my issues with dmd-gr. With cryptonight, I get the best rates with my R7 if I run separate instances for each physical core.
legendary
Activity: 1470
Merit: 1114
I'meant that affinity makes a thread more energy efficent if it works alone on 2-core piledriver module, for example two threads working on one module, sharing the 2MB cache make max 40H/s each, while one thread working alone on 2-core module has 60H/s and thats because it has all the 2MB L3 for itself.
Efficency depends on algo's demand for memory, CryptoNight works best with 2MB and I realy don't know about other algos.
To make sure I need to plug my rig to power meter.
I will try tomorrow if its really more efficent and post the results.

Cryptonight is the only algo I'm aware of that performs faster with fewer threads, optimum is L3 cache MB / 2 MB.
The default affinity should assign the threads as you want, just need to confirm it.

Be careful about assumptions about power, lower power often means less efficient because the CPU spends a lot
of time idle waiting for data from memory.
newbie
Activity: 6
Merit: 0
I'meant that affinity makes a thread more energy efficent if it works alone on 2-core piledriver module, for example two threads working on one module, sharing the 2MB cache make max 40H/s each, while one thread working alone on 2-core module has 60H/s and thats because it has all the 2MB L3 for itself.
Efficency depends on algo's demand for memory, CryptoNight works best with 2MB and I realy don't know about other algos.
To make sure I need to plug my rig to power meter.
I will try tomorrow if its really more efficent and post the results.
newbie
Activity: 25
Merit: 0
joblo, thanks for the help! I tried the older version and it has the same issue as well.

edit: I also tried it without affinity and priority. No difference unfortunately.
legendary
Activity: 1470
Merit: 1114
That is the Info + Tool that I was looking for, thank you both onedeveloper and coinbutter.

I don't know if affinity is usefull on Intel cpu's, but works just fine for amd modules with shared L3 2MB cache.

going back to testing.

I'm surprised it's needed on AMD with modular cache. Modular cache only causes a hit if the thread moves to a core supported
by a different cache module. Miner threads should always stay on the same core.

Can you do some testing to find if you can get better performance with a custom affinity?
newbie
Activity: 6
Merit: 0
That is the Info + Tool that I was looking for, thank you both onedeveloper and coinbutter.

I don't know if affinity is usefull on Intel cpu's, but works just fine for amd modules with shared L3 2MB cache.

going back to testing.
legendary
Activity: 1470
Merit: 1114
joblo, trying this version of cpuminer for pool mining dmd-gr - Diamond Coin but my shares keep getting rejected. cpuminer-multi works without problems. Running a Xeon X5687 with the cpuminer-aes-sse42 windows binary. Any suggestions?

Edit: buckya, I use the CPUMiner Affinity Setter at https://www.paulhempshall.com/io/cpuminer-affinity-setter/ to determine my cpu affinity.

It looks like I broke it, use the legacy version 3.5.9.1 until it's fixed.

I've never played with CPU affinity, the default seems to work well.
full member
Activity: 143
Merit: 100
Hey
At first I'd like to thank You for doing great job, keep up the good work.
I'm currently testing monero mining on FX8320 clocked at 4,1 GHz.
With newest cpuminer-aes-avx.exe i've got better hashrate that with cpuminer-multi.
On 8 threads it goes to 312 H/s on iddle (Win7).
And with only 4 threads tweaked in task manager to use only cores 0, 2, 4 and 6 i got this:

[2017-04-03 18:29:17] CPU #2: 863 H, 58.18 H/s
[2017-04-03 18:29:17] CPU #0: 839 H, 57.07 H/s
[2017-04-03 18:29:17] CPU #1: 844 H, 58.12 H/s
[2017-04-03 18:29:17] CPU #3: 905 H, 60.01 H/s
[2017-04-03 18:29:56] Accepted 38/38 (100%), 4898 H, 232.88 H/s - opened browser with 30+ tabs.
On iddle its going to 248 H/s

I wasn't connecting any power meter but i guess there will be much less power draw on 4 cores.
And here i've got a question about  "--cpu-affinity", I don't know how to use it with "--threads 4", so it would direct all work to cores 0, 2, 4, 6 like I'm doing this in Task Manager, but only after launching the .exe
The are some hex parameters which I don't understand like 0xF0F0 or 0x30, I tried use them without effect.
Can You give me some advice ?

I can give you that advice. The --cpu-affinity works as a bit mask. The least significant bit is the core 0, the next one is core 1 and so on.

Imagine the cores like:             0 -- 1 -- 2 -- 3 -- 4 -- 5 -- 6 -- 7  (extended to 7 to fill a BYTE, 8 bits)
Now the bits for each core are:  1    0     1    0     1    0    1     0  

This binary value now is encoded with 8th core first, so it becomes => 01010101.

Converting it to hex values (grouping in fours and converting) becomes => 0101 0101 => 0x55

So you must use --cpu-affinity 0x55 in your case.
newbie
Activity: 25
Merit: 0
joblo, trying this version of cpuminer for pool mining dmd-gr - Diamond Coin but my shares keep getting rejected. cpuminer-multi works without problems. Running a Xeon X5687 with the cpuminer-aes-sse42 windows binary. Any suggestions?

Edit: buckya, I use the CPUMiner Affinity Setter at https://www.paulhempshall.com/io/cpuminer-affinity-setter/ to determine my cpu affinity.
newbie
Activity: 6
Merit: 0
Hey
At first I'd like to thank You for doing great job, keep up the good work.
I'm currently testing monero mining on FX8320 clocked at 4,1 GHz.
With newest cpuminer-aes-avx.exe i've got better hashrate that with cpuminer-multi.
On 8 threads it goes to 312 H/s on iddle (Win7).
And with only 4 threads tweaked in task manager to use only cores 0, 2, 4 and 6 i got this:

[2017-04-03 18:29:17] CPU #2: 863 H, 58.18 H/s
[2017-04-03 18:29:17] CPU #0: 839 H, 57.07 H/s
[2017-04-03 18:29:17] CPU #1: 844 H, 58.12 H/s
[2017-04-03 18:29:17] CPU #3: 905 H, 60.01 H/s
[2017-04-03 18:29:56] Accepted 38/38 (100%), 4898 H, 232.88 H/s - opened browser with 30+ tabs.
On iddle its going to 248 H/s

I wasn't connecting any power meter but i guess there will be much less power draw on 4 cores.
And here i've got a question about  "--cpu-affinity", I don't know how to use it with "--threads 4", so it would direct all work to cores 0, 2, 4, 6 like I'm doing this in Task Manager, but only after launching the .exe
The are some hex parameters which I don't understand like 0xF0F0 or 0x30, I tried use them without effect.
Can You give me some advice ?
legendary
Activity: 1470
Merit: 1114
Cpu miner for windows 7 i7 2630?
Omo uses a command line Huh Huh
 
cpuminer-aes-avx2.exe -a scrypt -o stratum+tcp://aikapool.com:7962


cpuminer-aes-avx.exe
hero member
Activity: 561
Merit: 500
Cpu miner for windows 7 i7 2630?
Omo uses a command line Huh Huh
 
cpuminer-aes-avx2.exe -a scrypt -o stratum+tcp://aikapool.com:7962

hero member
Activity: 700
Merit: 500
./cpuminer: relocation error: ./cpuminer: symbol _ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference


i'm getting this error trying to run cpuminer opt on a vps running ubuntu 12.04
i tried to compile on the vps but it gives me a lot of error last is
 -O3 -march=native -Wall -std=gnu++11 -MT cpuminer-uint256.o -MD -MP -MF .deps/cpuminer-uint256.Tpo -c -o cpuminer-uint256.o `test -f 'uint256.cpp' || echo './'`uint256.cpp
cc1plus: error: unrecognized command line option \u2018-std=gnu++11\u2019
make[2]: *** [cpuminer-uint256.o] Error 1
make[2]: Leaving directory `/home/Scrivania/cpu'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Scrivania/cpu'
make: *** [all] Error 2


http://lmgtfy.com/?q=unrecognized+command+line+option+%5Cu2018-std%3Dgnu%2B%2B11%5Cu2019
legendary
Activity: 1470
Merit: 1114
./cpuminer: relocation error: ./cpuminer: symbol _ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference


i'm getting this error trying to run cpuminer opt on a vps running ubuntu 12.04
i tried to compile on the vps but it gives me a lot of error last is
 -O3 -march=native -Wall -std=gnu++11 -MT cpuminer-uint256.o -MD -MP -MF .deps/cpuminer-uint256.Tpo -c -o cpuminer-uint256.o `test -f 'uint256.cpp' || echo './'`uint256.cpp
cc1plus: error: unrecognized command line option \u2018-std=gnu++11\u2019
make[2]: *** [cpuminer-uint256.o] Error 1
make[2]: Leaving directory `/home/Scrivania/cpu'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Scrivania/cpu'
make: *** [all] Error 2


OS is too old.
legendary
Activity: 1470
Merit: 1114

flags           : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 hypervisor lahf_lm


SSE2 only.
Pages:
Jump to: