Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

__int128 to support more than 64 CPUs #15

Open
wants to merge 1 commit into
base: linux
Choose a base branch
from
Open

__int128 to support more than 64 CPUs #15

wants to merge 1 commit into from

Conversation

louisje
Copy link

@louisje louisje commented Aug 15, 2017

128-bit integer can hold more bits to cpu mask than 64-bit, if GNUC is available.

@Wikiechiu
Copy link

Hi Louisje,

May I know

  1. what type of CPU to pull together
  2. how to put them in use
  3. what type of crypto coin can I effectively mine with this?

@louisje
Copy link
Author

louisje commented Aug 15, 2017

Still only one CPU in use, just extending 64 core at most to 128 core.

  1. It can associate with any type of CPU,
  2. without any specific configuration, just use it as usual.
  3. And this change is for all algorithm. It just extends the CPU affinity.

The best way to exam this change, is to have a CPU which is more than 64-core.
The CPU I'm using is "Intel(R) Xeon(R) CPU E5-2699 v4", a 88-core CPU.
Without this improvement, I found that it is at most 64 core simultaneously in use, because the "unsigned long" cpu set mask can at most 64-bit wide.

__int128 is 128-bit wide, and ideally as cpu mask, it can control 128-core at most. But __int128 is supported only by GCC, so I put them in #ifdef __GNUC__ closure with original unsigned long in the else part as the fallback. This is working for me, all 88 core are working simultaneously.

cpuminer -o "stratum+tcp://pool.minexmr.com:4444" -u ${WALLET_XMR} -p x -a cryptonight -D

Above is the command line I'm using. I've not try with other crypto function yet, but obviously this change can apply to them as well.

@kyleboddy
Copy link

I was able to apply this patch and get 256 threads working with a Xeon Phi x202 but cpuminer is not optimized for the architecture and it is very slow. Only lukminer right now is optimized to use the Phi architecture.

At any rate, thanks for the patch!

@philtimmes
Copy link

Considering the fact that I have an 8192 thread system, this patch was helpful. Thanks.

@tpruvot tpruvot force-pushed the linux branch 2 times, most recently from 25dfb46 to ac6e408 Compare December 3, 2018 00:13
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants