Intelの新しい第12世代CPU Alder Lake-Sへの対応がOpenCore開発チームによって進捗しています。先の記事では、macOSでAlder Lake-SのEコアを半分まで稼働させる拡張機能であるCpuTopologySync.kextを紹介しました。昨日これが配布終了になり、その機能がOpenCore本体に組み込まれつつあることが明らかになりました。来月公開のOpenCore 0.7.7では全てのEコアが稼働するそうです。
その機能を先立って試すことも可能です。以下のコメント、
で、開発段階の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へのバージョンアップにより、何事もなく全コアが使えるようになると思いますが、現時点でも簡単に試せて、効果絶大です。
おおー
機体が上がりますねぇ^^
お疲れさまです。
こっちに、ビルド後のリリースを上げましたよー。
よろしくです。
[Latest commit of OpenCore]OpenCore0.7.5以後の最新コミット(11月30日)
失礼しました、お題の日付を直しましたので、上から入れますよ〜
>OpenCore 0.7.7になれば何事もなく全コアが使えるようになると思いますが、現時点でも簡単に試せて、効果絶大です。
OpenCoreチームの粘り、凄いですね。これって、もっと期待しても良いのでしょうか?
Alder LakeがHacintoshno世界でようやく普及し始めたのに、ちょっと先(同じZ690ボードでサポート予定の次世代CPU:Raptor Lake)のことを考えてしまいます。
つい先月、4コアから念願の10コアCPUにアップグレードいたばかりなのに !!
ー ”もしかして我が家の自作PCで、24コアCPUを使える様になる” ?
*参考: 24-core/32-threadの“Raptor Lake”が姿を現す
https://northwood.blog.fc2.com/blog-entry-11172.html
とわいえSoC前の10thーgenのi9は、一気にVirtual Machineを3つも起動できるので、やっぱりスレッド数が多いのはべんりなんですよねぇ。Moebuntuの方の開発があるし^^;
i9安くなってほしいなぁ;;
お疲れさまです。きになるのは・・・
Eコアをどのように使ってるんでしょうねぇ。同じようにAMDでもトポロジー問題っていって、パッチをかけてましたが、それ自体は、どうやら内部に組み込まれちゃったようですね。(OpenCoreもCloverも)
12thだとPコアは8機でスレッド対応してもPコア分はPコア分16スレッドですから、VirtualMachineでは4スレッド4GBくらいが今流なので、できれば13thでPコア分で10個でPコア分20スレッドに期待したいですねぇ。
VirtualMachineではきっと、Eコア効率的に使うことはなかなかないでしょうからねぇ。
VMでの取り扱いってどうするんたろなぁ。いずれVM上のOSのタスクスケジューラによってしまうんでしょうけどねぇ。
記事に追記しましたが、PコアもEコアもHTも全部物理コアに見せかける実装のようです。
また、CpuTopologySync.kextの時は、VMが動かない問題があったらしいけど、OpenCoreへ組み込んだバージョンでは解決しているそうです。
ありがとうございます。
Pコアの8x2の方はいいけど、あとのEコアの4って、どういうプロセススケジュールしてるんでしょねぇ。
そういう意味で、ベンチが下がらないのは、なにかしてるようにも思います。os依存の方法なら、多少今後OpenCore側のアップデートとの追いかけっこで厄介になるかもですね。
すいません、あと知りたいのは、マシンタイプはMacPro7,1なんでしょうか?今後の参考になります。
SystemProductNameは以前の製作記事の時のままiMacPro1,1にしてあります。
https://bootmacos.com/archives/13940
MacPro7,1でも動くのですが、iMacPro1,1の方がAlder Lakeの周波数設定と相性が良いらしくて性能が出ます。MacPro7,1にする場合は、CpuFriend.kext, CPUFriendDataProvider.kextを使って周波数設定を調整すると、iMacPro1,1と同等の性能に上げられるらしいです。iMacPro1,1の場合はそれが不要なので、シンプルな方が良いと思いiMacPro1,1に設定しています。
MacPro7,1にする利点は、より新しい製品なので、より長くサポートされるかもしれないという程度のようです。
ありがとうございます。
MaLd0nさんのEFIみると、MacPro7,1多いんですよね。やっぱり広範なマザーで動かそうとすると、MacProは安定の選択なんでしょうねぇ。