-
Notifications
You must be signed in to change notification settings - Fork 15
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
low performance in linux (v0.8.5 Build 9543) #49
Comments
Linux is normally a few % slower. But bigger differences like this usually indicate a p-state problem. Linux has issues on Intel CPUs with not keeping the CPU clocked at full speed without special drivers, but it's hard to say what the issue is. It could be a simple as Linux not being as good as Windows with managing P and E-core scheduling. |
That's not too surprising. Alder/Raptor Lake is running the 14-BDW binary which is optimized for Broadwell and Skylake Client. So optimizations for those processors may not be beneficial on Alder/Raptor Lake. Hybrid cores are especially bad for this kind of workload. |
Marking this as a bug. But unless someone donates me the relevant hardware, there is nothing I can do. But again, hybrid cores are kinda impossible to optimize for. |
Are you using GOMP_CPU_AFFINITY to set the core allocation priority? AMD and Intel behave in opposite ways in this regard, Zen4 requires GOMP_CPU_AFFINITY, while Intel Hybrid architecture cannot use it (otherwise it will prioritize running on the E-core). Alder Lake has a CPUID leaf specifically for identifying P-Core and E-Core. I tested it on Raptor Cove and it is the same:
AMD also has a similar CPUID identification bit - 0x80000026, but I haven't tested it on Zen4, it may only be used to identify ZenX and ZenXC. |
y-cruncher does not touch those options (I didn't even know they exist). However, it does tries to lower the process priority to avoid freezing the system. On Windows it's:
On some versions of Windows 10, this causes the program to run exclusively on E-core, though I heard that got fixed. On Linux it's:
Not sure if this will also lock the program to E-core on Linux, but it should fail anyway unless you run with sudo. You can override the behavior by passing |
priority:0 works here, the Pi time reduced about 12.7%.. |
linux 24.04
14900K SMT on:
windows 11
The text was updated successfully, but these errors were encountered: