-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
configuration and hashrate problem #1739
Comments
What coin? What actual models of CPU? What OS? if you don't have 2048K L3 per core then adding the second core will only cause contention for the limited cache space and slow both threads down, better to run single thread and try to get CPU to do turbo (it won't running all cores) Also if its a HT virtual core ("1x core, 2x threads") and not actually two cores then running on the HT core will drag down the real one as they share and contend for even more than caches. Different core family do the mining better/worse but you may benefit from compiling locally on each rig (so the compiler detects all CPU features and builds optimal) the release is built for just SSE3 and AES-NI and may not take advantage of some other features (up to the compiler). Speaking of compilers, on Linux I have had better performance from clang-3.8 than any gcc. |
Hi, i'm mining monero.
These are the dual core cpu details:
You are suggesting to just run one single "cpu_threads_conf" instead of one per core? What about the affine to cpu ? |
eww, |
That will gain some hashrate by itself, your hashrates seem about right for low power cpus. |
cat /proc/cpuinfo dual-core
single core
Can you explain a little bit better about clang++-6 ? Thanks. |
Also disable iGPU and KVM/VT-d in bios Intel iGPU tend to share cache / get in the way of actual processing. KVM/VT-d are pointless as well unless you are actually running qemu or something. |
Yes, since clang 6.0 makes better CPU code, release binaries are meant to work well on many systems but not the best on every system ("generic", SSE3 and AES-NI enabled only), also compiling detects your rigs local capabilities and makes code specifically for them. Otherwise your hashrates are correct. You can get a few more though using better compiler and compiling locally for each CPU type. I am working with others on PR #1604 which helps Haswell/Broadwell cores beyond what is possible with current code. They benefit from piling on tons of work (10, 20, or 100 or more) versus single thread per core as apparently it forces more of the internal "guesses" to be correct for the workload. Chopping work into single threads that run a chunk of work seems to confuse these cores and make them slower (internal optimizations like SmartCache and various prefetching can't see far enough into the future so they don't work as well as they would with a larger roadmap of what's coming down the pipeline). That large stack of work hurts other core-types performance, so it's not default yet. You could try |
Also pool hashrate is not always meaningful. Your slowest rig could go on a huge luck run and have an apparent hashrate much higher than others for an hour. Better to refer to the real rates given by the miner, when you press H |
@Spudz76 if i enable KVM/VT-d in bios and not run any virtual software - it is fine? |
I just shut off every technology that I am not using I do run a couple CPU miners on Proxmox hypervisor OS with VM running also - works fine, probably same. But one hash a second when you mine for months (three million seconds) is three million more hashes done. So I rather just turn it off and believe in invisibly higher average rates even when I can't see a 10H difference. |
HI, I've got two different server one with 3,5ghz of CPU single core and the other dual-core 3,5ghz of CPU.
The dual core processors are Intel Core Processor (Haswell, no TSX). It doesn't have l3 cache.
The single core processor is Intel Core Processor (Broadwell). It doens't have l3 cache.
What I simply expect to that is that the dual-core mine double then the single-core.
This is my cpu configuration on the single-core server:
And this is the dual-core configuration:
What I notice from my pool is that the first (single-core) has in the past 48 hour an average hashrate of 78 instead the dual-core has an average hashrate of 92.
Why this happen?
Am I miss something?
The text was updated successfully, but these errors were encountered: