Post
Topic
Board Mining (Altcoins)
Re: [XMR] JCE Miner Cryptonight/forks, now with GPU!
by
Bulitt
on 20/10/2018, 04:44:07 UTC
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.

Quote
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.

Code:
"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,}

]

Quote
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


Code:
"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,},

]

Quote
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

Code:
"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 }

]

Quote
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

Code:
"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 },

]

Quote
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

Code:
"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 },

]

Quote
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