-
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
support to CPU mine at more than 75% for dedicated machines #1730
Comments
Did not specify what model CPU or its specs, but you can run maximal of CPU-cache divided by algo-blocksize. Normal cryptonight is 2MB. So if you don't have "cores * 2MB" of cache you will never be able to mine with all the cores. Such as: an 8 core with 12MB cache you can run 6 cores, then you run out of cache so any more will slow the others down. Should have bought a 16MB cache version to get closer to 100% utilization. Cryptonight-heavy use 4MB blocksize so you will run out of cache way faster (half the cores) with coins based on that. An 8 core/12MB cpu would only be able to run 3 cores then before falling on its face. Otherwise get a CPU that is better cache balanced for blocksize of whatever coin you target. What CPU model and version, and what does your |
sorry about that, i've went over this topic with some miners over in reddit and couldnt get any more so was wondering if it could be done with some software changes. OS | Server 2012R2 CPU | 2x E5-2630 v3 @ 2.4GHz (https://ark.intel.com/products/83356/Intel-Xeon-Processor-E5-2630-v3-20M-Cache-2_40-GHz) RAM 20GB CPU | 2x E5-2650 @ 2.00GHz (https://ark.intel.com/products/64590/Intel-Xeon-Processor-E5-2650-20M-Cache-2_00-GHz-8_00-GTs-Intel-QPI) RAM 64GB |
Those should do fine then, on 2MB CN algos, as far as cache. Haswell cores do tend to be slow with this code, I have a Haswell i3 with 3MB of cache and it gets quite a boost from the patches applied to my dev-superthread branch, if you compile from that and use "SmartCache" doesn't get smart on Haswell unless you let it see more of what work is coming (deeper pipeline). So then I think it internally reallocates cache too often, forcing actual mining to wait. hey may benefit from even deeper than 10 however that is still being tested in #1604 |
On it, I get 6 threads on defaults (=12MB cache) and then I add one thread that "roams" with
If I shut off HT and just ran 6 threads then it would be at 100% utilized but the rest of the system would be choking (HT cores basically run the rest of the system, interrupt handling, etc). Also this rig is pushing work to six GPUs with ethminer -- xmr-stak is only CPU mining since the CPU was doing nothing otherwise.
|
how long do you think i should wait after each change to see the effects? |
here's one of the CPU text for eg E5-2630 v3 @ 2.4GHz HASHRATE REPORT - CPU
|
Around 50H/s per core on a Sandy Bridge is about all I get as well, the 10-way patch does not seem to help on those family of core. This is on my most similar to that system with dual
Your affinities are weird but that could just be how the mobo is mapping things (still weird), and Windows doesn't actually do affinity > 64 (it should be shouting warnings on startup). I would expect affinities to be sequential with no huge hole between 15 and 64 (so, 0-15 are CPU0 and 16-31 would be the CPU1, and you would use the even numbered). So CPU1 seems normal with 0,2,4,6,8,10,12,14 but then I would expect 16,18,20,22,24,26,28,30 for the second set. Where did 1 and 3 come from. Weird mobo or perhaps hwloc is misunderstanding. |
Maybe it's a quad socket board? Running as dual with CPU0 and 2 loaded (which could leave a logical hole for CPU1 socket that is not populated) and then the numbering makes a little more sense. Or they used a quad capable chipset for a dual board for some reason and mapped it as above. Linux always makes their ID sequential regardless the "street address" on the mobo. Hmm. I thought Windows did also, just the HT cores interleaved on the odds instead of appended. |
Maybe it's just an oddball way Server 2012 does things versus how it would be on desktop windows... |
probably correct on the quad socket i havent physically looked at it.. just dusted it off at work and put it to work lol i just hate seeing the CPU around 75% util i just wanna crank it up. |
@Spudz76 based on your comment above, with the E5-2640 v4, at 25MB cache, I should easily be able to use all 10 cores at 2MB each. Just sharing data as I follow various threads. Am I correct in understanding your comment? |
Microsoft says there may be holes reserved depending on if it thinks CPUs might show up hotswap, so that must be the deal with your motherboard. I do not know if the current code utilizes any of the tricks for managing which "group" and for setting affinity on > 64 although I do know there is a check and a warning message. Apparently instead it is supposed to set the group affinity using an alternate function call, and then set the affinity mask within that group to achieve the pointer to the second group (64+). The whole 64 limit is because they used two DWORD (32-bit) and its a bitmask so 64 bits means 64 affinities can be marked. Groups must be their way around that so you use Group1 and get a second pair of DWORDs to set. Not sure if this was previously known to this project or accounted for. But that page also says it should affect Win7 also. |
@baldpope Yes although you may be able to steal some extra hashrate by adding two more "illegal" HT threads (use 24MB cache and more cores than are physical). I generally set the stowaways to affinity:false though, it seems to be happier about that. Cache is more important than real actual cores. But odd number you have to leave 1MB on the table and use 24MB total (12 threads, 10 cores, 2 HT) Similar to how I threw a seventh thread on my 6-core 15MB cache and it gave me a total hashrate higher than not doing so. Something about HT and SmartCache makes the "fake cores" somehow work nicely even though it should hurt the physical side of the same virtual core... who knows? |
Hi guys thanks for a great miner, is it possible to add an option to utilize the CPU miner higher than 75 %?
I have dedicated hardware and would like to get some more H/s out of it. I've gone over all the recommended options and settings but can't get any more.
The text was updated successfully, but these errors were encountered: