Those dang Vishera CPU's have that unmanageable cache there are so many different configurations to try to extract the power from those CPU's and Ive always said there has to be a way to make a thread use a group of selected cores instead of just "false" and letting the OS manage the affinity.
Analyzing Processors topology...
AMD FX(tm)-8320 Eight-Core Processor
Assembly codename: generic_aes_avx
SSE2 : Yes
SSE3 : Yes
SSE4 : Yes
AES : Yes
AVX : Yes
AVX2 : No
Found CPU 0, with:
L1 Cache: 16 KB
L2 Cache: 2048 KB
L3 Cache: 8192 KB, shared with CPU 1, 2, 3, 4, 5, 6, 7
Found CPU 1, with:
L1 Cache: 16 KB
L2 Cache: 2048 KB
L3 Cache: 8192 KB, shared with CPU 0, 2, 3, 4, 5, 6, 7
Found CPU 2, with:
L1 Cache: 16 KB
L2 Cache: 2048 KB
L3 Cache: 8192 KB, shared with CPU 0, 1, 3, 4, 5, 6, 7
Found CPU 3, with:
L1 Cache: 16 KB
L2 Cache: 2048 KB
L3 Cache: 8192 KB, shared with CPU 0, 1, 2, 4, 5, 6, 7
Found CPU 4, with:
L1 Cache: 16 KB
L2 Cache: 2048 KB
L3 Cache: 8192 KB, shared with CPU 0, 1, 2, 3, 5, 6, 7
Found CPU 5, with:
L1 Cache: 16 KB
L2 Cache: 2048 KB
L3 Cache: 8192 KB, shared with CPU 0, 1, 2, 3, 4, 6, 7
Found CPU 6, with:
L1 Cache: 16 KB
L2 Cache: 2048 KB
L3 Cache: 8192 KB, shared with CPU 0, 1, 2, 3, 4, 5, 7
Found CPU 7, with:
L1 Cache: 16 KB
L2 Cache: 2048 KB
L3 Cache: 8192 KB, shared with CPU 0, 1, 2, 3, 4, 5, 6
I configure 4 standard threads to cores 7-5-3-1, then 2 "double cache" mode threads with affinity set to false. If only those 2 threads could be assigned to split their loads among cores 0-2-4-6 only I suspect theres an additional 60 or so more H/sec for a full CPU.
"cpu_threads_conf" :
[
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 1, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 3, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 5, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 7, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 2, "use_cache" : true,},
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 4, "use_cache" : true,},
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 6, "use_cache" : true,}
]
00:18:48 | Hashrate CPU Thread 0: 61.29 h/s
00:18:48 | Hashrate CPU Thread 1: 46.64 h/s
00:18:48 | Hashrate CPU Thread 2: 46.53 h/s
00:18:48 | Hashrate CPU Thread 3: 45.79 h/s
00:18:48 | Hashrate CPU Thread 4: 46.69 h/s
00:18:48 | Hashrate CPU Thread 5: 46.61 h/s
00:18:48 | Hashrate CPU Thread 6: 46.31 h/s
00:18:48 | Total: 339.84 h/s - Max: 339.84 h/s
"cpu_threads_conf" :
[
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 1, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 3, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 5, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 7, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : false, "use_cache" : true,},
{ "cpu_architecture" : "vishera", "affine_to_cpu" : false, "use_cache" : true,},
]
00:21:44 | Hashrate CPU Thread 0: 52.29 h/s
00:21:44 | Hashrate CPU Thread 1: 55.69 h/s
00:21:44 | Hashrate CPU Thread 2: 47.32 h/s
00:21:44 | Hashrate CPU Thread 3: 59.36 h/s
00:21:44 | Hashrate CPU Thread 4: 46.14 h/s
00:21:44 | Hashrate CPU Thread 5: 46.44 h/s
00:21:44 | Total: 307.22 h/s - Max: 307.22 h/s
"cpu_threads_conf" :
[
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 1, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 3, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 5, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 7, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : false, "use_cache" : true, "multi_hash": 2 },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : false, "use_cache" : true, "multi_hash": 2 }
]
00:24:22 | Hashrate CPU Thread 0: 47.41 h/s
00:24:22 | Hashrate CPU Thread 1: 55.00 h/s
00:24:22 | Hashrate CPU Thread 2: 42.57 h/s
00:24:22 | Hashrate CPU Thread 3: 58.28 h/s
00:24:22 | Hashrate CPU Thread 4: 47.22 h/s
00:24:22 | Hashrate CPU Thread 5: 46.72 h/s
00:24:22 | Total: 297.17 h/s - Max: 300.48 h/s
"cpu_threads_conf" :
[
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 7, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 5, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 3, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 1, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 0, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 2, "use_cache" : true },
]
00:27:53 | Hashrate CPU Thread 0: 61.01 h/s
00:27:53 | Hashrate CPU Thread 1: 61.36 h/s
00:27:53 | Hashrate CPU Thread 2: 46.30 h/s
00:27:53 | Hashrate CPU Thread 3: 47.12 h/s
00:27:53 | Hashrate CPU Thread 4: 46.66 h/s
00:27:53 | Hashrate CPU Thread 5: 46.29 h/s
00:27:53 | Total: 308.72 h/s - Max: 309.41 h/s
And this is the way you're "supposed" to do it based on the L3 cache amount
"cpu_threads_conf" :
[
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 7, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 5, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 3, "use_cache" : true },
{ "cpu_architecture" : "vishera", "affine_to_cpu" : 1, "use_cache" : true },
]
00:29:52 | Hashrate CPU Thread 0: 61.28 h/s
00:29:52 | Hashrate CPU Thread 1: 61.34 h/s
00:29:52 | Hashrate CPU Thread 2: 61.49 h/s
00:29:52 | Hashrate CPU Thread 3: 61.62 h/s
00:29:52 | Total: 245.71 h/s - Max: 245.71 h/s