Intelの新しい第12世代CPU Alder Lake-Sへの対応がOpenCore開発チームによって進捗しています。先の記事では、macOSでAlder Lake-SのEコアを半分まで稼働させる拡張機能であるCpuTopologySync.kextを紹介しました。昨日これが配布終了になり、その機能がOpenCore本体に組み込まれつつあることが明らかになりました。来月公開のOpenCore 0.7.7では全てのEコアが稼働するそうです。
その機能を先立って試すことも可能です。以下のコメント、
I've done some benchmarks and with this values I have significant lower results comparing with:Cpuid1Data: 55060A00 00000000 00000000 00000000Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000Perhaps are other reasons to use the first. We will see!As far as I recall, there was no specific... Z690 Chipset and Alder Lake CPUs - tonymacx86.com |
で、開発段階のOpenCore.efiが配布されています。これを、
- 現在のEFI/OC/OpenCore.efiと入れ替えて、
- config.plistでKernel/Quirks/ProvideCurrentCpuInfoをtrueにする
ことで、macOSから全コアが利用可能になります。当然ですがBIOSで全コアを有効に設定してく必要があります。上記のコメントの手順では、CPUFriend.kextとCPUFriendDataProvider.kextを使用して、CPUの周波数ベクターを設定するように書かれていますが、iMacPro1,1の機種IDでは不要でした。書き換えなくても性能は変わりませんでした。
これでGeekBench 5のマルチコアスコアが1000から2000くらい上昇します。明らかなシングルコア性能低下もありませんでした。GeekBenchのCPU情報によると、例えば12700Kは、
1 Processor 20 Cores
と表示されます。8 Pコア+8 ハイパースレッド (HT) +4 Eコア=20コアという計算だと思われます。 10900Kの場合は、
1 Processor 10 Cores, 20 Threads
のように、物理コアとスレッドが別々に表示されていました。OpenCoreでは、Alder Lake PコアのHTを物理コアとして扱うことで、HT可否コア混在の問題を解決している様子です。
来月のOpenCore 0.7.7へのバージョンアップにより、何事もなく全コアが使えるようになると思いますが、現時点でも簡単に試せて、効果絶大です。