I wrote a experimental kext for change core / thread recognition.
This kext enables 16 cores / 24 threads recognition with Core i9. It is also possible to make 8 cores / 24 threads recognition by making the CPU behave like a 3-way SMT.
In addition, with HT disabled, you can make it look like an 8 cores / 16 threads CPU by making E-Core behave as a HT logical core.
My purpose is to keep single-thread or real-world performance with this kext when E-Cores enabled.
At least when HT disabled, I confirmed an increase in Geekbench 5 multi score from 16 cores recognition. I didn't see differences in Geekbench 5 scores when HT enabled, but I hope it affects the performance.
How to use it:
- OpenCore 0.7.7 nightly +
ProvideCurrentCpuInfo
=
true
- CpuTopologySync.kext I attached
-
-ctssmt
boot arg enables 3-way SMT spoofing.
This kext is based on original CpuTopologySync, but it's mostly rewritten.
The source code(ugly!) is here, so please let me know if there are any improvements.
CpuTopologySync for 16c24t, 8c24t, 8c16t(HT disabled+E-Core) recognition ( ProvideCurrentCpuInfo=true required ) - CpuTopologySync.cpp.txt
gist.github.com
If there are any ideas to measure real-world performance with E-Cores enabled, please let me know.
Some Geekbench 5 scores:
- 16 cores / 24 threads :
https://browser.geekbench.com/v5/cpu/11861794
- 8 cores / 24 threads :
https://browser.geekbench.com/v5/cpu/11872440
- 8 cores / 16 threads(HT disabled) :
https://browser.geekbench.com/v5/cpu/11872688
- 12 cores / 20 threads(pseudo i7) :
https://browser.geekbench.com/v5/cpu/11872777
- 10 cores / 16 threads(pseudo i5) :
https://browser.geekbench.com/v5/cpu/11873195
Current problems:
- I don't use the Alder Lake machine for daily usage yet, so it has stability problem possibly.
-
3-way SMT spoofing is unstable at boot time, may require some restarts. -> Fixed?
-
3-way SMT spoofing especially may not work for 6P+4E Core i5 ( I tested with Core i9-12900KF, I couldn't boot 6P+4E configuration with -ctssmt
. ) -> Working now.
Updates:
- I made some fix to improve stability, boot freeze issue maybe fixed. ( CpuTopologySync-1.0.1-RELEASE-2.zip )