2017/08/20

世界最速のデュアルCPU Hackintoshを作る!(失敗)


先週、ふと手元のデュアルCPU自作機で「OS Xのベンチマーク世界一狙えるかも?」と思い立って、別にそんなことはなかったという話。しかしながら、世界20位という(超ニッチな分野において)一定の結果が出たので顛末を書いていきます。


Geekbenchの世界


Xbenchの更新が止まって久しい現在、Mac向けベンチマークは事実上Geekbench一択です。現在のバージョンはGeekbench 4。

そして、このGeekbenchのスコアランキングですが、普通に考えれば「Mac Proの最上位構成が一番で終わりでは?」となるところ、OS Xスコア上位自称Mac(大嘘)のHackintoshで占められています。

そう、今や(というか大分前からですが)Mac Proより速いHackintoshを組むことすら可能になっているため、OS Xスコア世界一を目指す=最速のHackintoshを作る、という感じになっています。是非はさておき。

Windowsベンチマークは熾烈を極めているので思いつきでどうにかなる世界ではないですが、OS Xの場合そもそもHackintoshがニッチかつ、GeekbenchはCPU性能だけでハイスコアが出せるので安上がりに良いスコアが出せる!かも?


デュアルCPU自作機


というわけで今回投入したマシンがトップ画像のもの。一度は組んでみたかったデュアルCPUマシンです。

構成は以下のような感じ。
IvyBridge-EPなので、2世代前のデュアルCPUプラットフォームという感じです。最新のデュアルCPU構成を構築する財力はもちろんないので、中古パーツをかき集めて組んだというのもありますが、実はそもそも最初に組んだのが2年前だったりします。

当時もES品のXeonを積んでGeekbench(当時はGeekbench 3)を回してそこそこ良いスコアを出してたんですが、今回たまたま正式版のE5-2667 v2が手に入ってアップグレードできたので再挑戦、という感じだったりします。

このE5-2667 v2ですが、IvyBridge-EP最上位であるE5-2697 v2(=Mac Proの最上位CPU)の12コアには及ばない8コアであるものの、TurboBoost最大クロックが4.0GHz、全コアブーストで3.6GHzとデュアルソケット対応CPUでは最速であり、シングルコア性能・マルチコア性能共に優れたかなりバランスの良いCPUです。
(6コア以下ならE5-1660 v2やi7-4960Xなどの方が高クロックですが、これらはデュアルソケット非対応)

定格クロックはE5-2687W v2の3.4GHzに及びませんがTurboBoostの最大クロックと全コアブーストクロックは等しいので、事実上同じ性能です。

IvyBridge-EP自体は2世代前ですが、Haswell-EP以降は多コア化は進むもののクロックは頭打ちになっているため今でも十分高性能です。

まあ、ざっくり言うとRyzen 7 1800Xが2つ載ってるくらいのイメージです。コア性能もクロックも近い感じ。

メモリは通常のDDR3ではなくサーバー用のRegistered ECCメモリです。Z9PE-D8 WSはサーバー用ではなく自作も想定したワークステーション用なので普通のDDR3メモリでも動くんですが、単純に当時普通にメモリ買うよりも中古流通してたサーバー抜き取りメモリの方が安かったのでこうなりました。

GPUはWindowsでのゲーム用にGTX980Tiを積んでたんですが、今回追加ドライバ不要で動くGTX760に換装しています。
(GTX980Tiもドライバ入れれば動くはずなんですが、少し手こずったので一旦外しました)

ちなみに本題とは関係ないですが、CorsairのCarbide Air 540というデュアルチャンバーのケースで組んでます。E-ATX対応ケースなんですが、Z9PE-D8 WSはワークステーション向けマザボということでSSI-EEBという規格です。つまり入らないw

収まらない以前にネジ穴レベルでE-ATXとは違うことに買ってから気付いたのでネジ穴切ってブチ込んでます。ネジ穴切ったところで微妙に収まりきらないので前面ファンをフィルターの外側に移設したりしてます。でもってデュアルファンの簡易水冷クーラーx2なのでかなり無理して詰め込んでます。が、そのおかげでデュアルCPU構成でありながら(幅以外)その辺のATXケースより遥かにコンパクトです。

電源もケースに合わせてCorsairのRM850にしました。見た目が格好良いので選んだだけ。SLI組んでCPU・GPU双方フルロードしたら足りない気もしますがまあそんなことはしないので大丈夫でしょう。


ターゲット


Hackintoshをセットアップした時点ではこちらのGeekbench 4スコアがOS X最速の45160だったので当初これをターゲットとしました。ただGeekbench回してる最中に45375に更新されたので、最終的にはこちらを目指すことに。誤差レベルですが。

この最速スコアはXeon E5-2696 v4なるCPU搭載のHackintoshで達成されています。Intelの公式にも載ってないCPUですが、Wikipediaによるとこの前のE5-2693 v3のような製品版にないスペックのES品などではなく、OEM向けの特別モデル(が横流しされてる)っぽいです。

名前はE5-2696 v4ながらスペックは最上位のE5-2699 v4同等以上のようで、22コア・2.2GHz・全コアブースト2.8GHz・最大ブースト3.7GHzというお化けCPUになっています。

とまあ単騎ではE5-2667 v2ではまったく太刀打ちできないわけですが、デュアル構成でどうなるか。

デュアルでもなお16コアなので届かないわけですが、(Xeonの世界では少ない)8コアのためシングル16コアより高クロックなので、そこが活きてほしいところ。

ピーク性能はざっくりと「全コアブーストクロック x コア数」で決まるので、
  • E5-2667 v2 x2 : 3600 x 8 x 2 = 57600
  • E5-2696 v4 : 2800 x 22 = 61600
という感じです。やる前からまあ負けてるんですけど

この概算でほぼ7%負けているので、逆に言えば7%オーバークロックできれば単純計算では互角になれそう。

それ以外は、IvyBridge-EPとBroadwell-EPでCPU2世代分負けているとか、メモリがDDR3-1600とDDR4-2400で負けているとか、デュアルCPUなぶんメモリch数が2倍勝っているとか、そもそものデュアルCPUのオーバーヘッドだとか色々要素はあります。列挙すると不利な点の方が多いな。

余談ですが、この時期に最新でもない構成でGeekbenchを走らせようと思った理由はiMac Proの存在だったりします。

iMac Proでは18コアのXeonが予告されており、このXeonのスペック自体は不明なものの世代的にはSkylake-Xであると考えられるため、i9-7980XE相当であることが予想されます。

たとえi9-7980XEより低スペックなXeonが載ったとしても、Skylake-Xである以上i9-7980XEのHackintoshが組めるようになるので必然的にGeekbenchにやってきます。
(※今でもi9-7900XのHackintoshが登録されていますが、多分iMac Proのカーネルが使えるようになってから真価を発揮するはず)

i9-7980XEの全コアブーストクロックは不明で、Turbo Boost Max以降のIntel CPUのブーストクロックを推し量るのは難しいですが、TB3.0の4.4GHz、TB2.0の4.2GHz、従来の概算で使えた「最大ブーストクロック - コア数÷2 x 100MHz」の4.4 - 18/2 x 0.1 = 3.5GHz、どれで見積もっても
  • 4400 x 18 = 79200
  • 4200 x 18 = 75600
  • 3500 x 18 = 63000
となりどうにも対抗できそうにありません。63000は辛うじて、という感じではありますがCore XがアンロックCPUである都合上4200 x 18動作はHackintoshにおいても堅いと思うので結局どうにもなりません。

というわけで、世界一を狙うならiMac Proが出る前の今しかない!というのが動機だったりします。


Hackintosh化


多分Z9PE-D8 WSでHackintosh組む人はいないと思うので詳細は省きます。もしいたらコメントでもしてください。

そもそも「デュアルCPUでOS X動くのか?」という疑問はありますが、骨壺になる前のMac ProはデュアルCPUマシンだったのでOS X自体は普通に対応しています。

また、IvyBridge-EPはMac Proに載っているCPUなのでこちらも対応。MacPro6,1のsmbiosが最適。

ただ困ったのがZ9PE-D8 WSで、BIOSが割と挙動不審でDSDTのProcessor IDの振り方がぐちゃぐちゃだったりするので、ちゃんとDSDT.aml作らないと動きません。

また、GPUの定義も変なのかGPU認識用のSSDT.amlの追加が必要な上、5番目以降のPCIeスロットに挿さないと認識しません。

何やらデュアルCPU特有の問題っぽく、GPUはCPU2から生えているPCIeに繋がないとダメなようです。実はこの問題を解決できずPCIeスロットが全てCPU1から生えているZ9PA-D8を手放した過去があります。

DSDT / SSDTあたりをちゃんとしてやれば、あとは割となんとかなります。今回はEl Capitanで動かしましたが、Sierraも動きます。
(xcpmで動かせずSierraが原因かと思いEl Capitan入れ直しても変わらず、結局aicpmで動かした)


そしてベンチマーク


さあセットアップも完了したぞ!というところでGeekbench 4を回していきたいところなのですが、無料版だと回す度にオンラインでリザルトが登録されてしまいランキングを無駄に賑やかしてしまうので、Geekbench 3で調整を進めつつ最後に一発Geekbench 4を回す方向でいきます。
(Geekbench 4のライセンス買えって話なんですが以前Geekbench 3買ってるのにまた買うのがなあ・・・)

最初に回した結果がこんな感じ(※Geekbench 3と4はスコア非互換)


この時点でかなり良いスコアなんですが、実はメモリスコアが芳しくなかったりします。というのも、Z9PE-D8 WSはBIOSデフォルトでNUMAがONなんですがOS XはNUMA非対応っぽく、ONのままだと遅いです(NUMAについては調べてね)。

NUMAを切った結果がこちら。


これだけでスコアが2500ほどアップし、メモリスコアが大幅に上昇しているのがわかります。

シングルコアのスコアが変わらないのは、CPUを跨いだメモリアクセスが無いからなんでしょうね。

この他にもOC以外のBIOS設定を(メモリ設定含め)色々いじりましたが有意な効果はありませんでした。

そしてオーバークロックです。Z9PE-D8 WSはワークステーション用マザボということXeon用ながらOCができます。ただしXeonは倍率固定なのでBCLKのみです。OCできると言ってもOffsetもなくVcore決め打ちとかなので実用性は低いですが。

結果はこんな感じ。
  • BCLK103MHz・・・デフォルト値で起動・Geekbench完走
  • BCLK105MHz・・・起動するも不安定、Vcore 1.3Vで安定・Geekbench完走
  • BCLK108MHz・・・Vcore 1.3Vで安定・Geekbench完走
  • BCLK109MHz・・・Vcore 1.3Vで起動するも不安定・Geekbench完走せず
  • BCLK110MHz・・・起動せず(リンゴマークでフリーズ)
という感じでした。電圧もうちょっと盛ったりメモリクロック下げても109MHzは安定しなかったので別のところに壁がありそう。僅差の2位!とかになったらもうちょっと頑張ってましたが今回はこの程度。Xeonに電圧盛るの神経に悪すぎる。

一応概算で互角になる7%OCは超えられたので、今回はBCLK108MHzで回すことにします。

Geekbench 3の結果


定格比107.97%と、クロック差そのままスコアに反映されました。

スコアも煮詰まったので、いよいよGeekbench 4で回します。

結果


はい、ダメでした!w

42997と、ターゲットの45375に対して5.5%程度届かず。8%OCしたことを考えると思ったより差が付いちゃいました。

一番の大差を付けられたのがシングルコアのメモリスコアで、2倍近い差(2117 vs 4033)である一方マルチがほぼ互角(5884 vs 5957)なので、DDR3-1600が足を引っ張りつつマルチコアではデュアルCPUの帯域2倍で巻き返した感じでしょうか。

結果的にマルチコアでのメモリスコアは互角になったわけで、思ったよりIvyBridgeとBroadwellの差があったんでしょうか。

とはいえ、


計測時点&これを書いている時点で第20位で、検索結果の1ページ目に出てくるくらいのスコアにはなったので良かった。E5-2696 v4どころかOCしてると思しきi7-6950Xにも勝ててないんでiMac Pro以前でも勝ち目なかったっぽくはあるけど。


次回・・・?


というわけでやっぱり世界1位なんて簡単には取れなかった一方それなりに良い結果も出た今回のお遊びですが、この結果を踏まえて改めてハイスコアを更新するには、というのを考えてみます。

多分一番簡単なのはCPUをE5-2697 v2に換装することで、12コアで全コアブースト3.0GHzのこのCPUなら
  • 3000 x 12 x 2 = 72000
となり、E5-2667 v2構成の1.25倍となる上、その他の構成はキープなのでスコアも綺麗に上昇するはずです。

定格でも49000、BCLK108MHzで53000くらいのGeekbench 4スコアが期待できそうなので余裕で上回れますね。

前述の通りMac Pro最上位構成がE5-2697 v2なので、完全にMac Pro 2台分という構成ですねw

まあE5-2697 v2はES品でも相当な額になりそうだし、シングルコア性能とマルチコア性能のバランスを考えるとE5-2667 v2の方が好きなのでベンチマークのためだけに買いたいものではないですね・・・

もう1つはLGA2011-3デュアルCPU対応のZ10PE-D8 WSで組んじゃうことですね。極端に言えば今回勝てなかったE5-2696 v4を2つ積むことすら可能です。そこまでオーバーキルなことをしなくても、X99機に積んでるQEYLを2個積めば
  • 3100 x 12 x 2 = 74400
となるので十分すぎます。問題はちゃんと動かせるかですが・・・誰かやってみませんか?w

5 件のコメント:

  1. 古い記事だったけど、すごく参考になりました。

    返信削除
    返信
    1. ご覧いただきありがとうございます。
      すっかり更新しなくなってしまいましたが、マシン自体は現役でOpenCore+Catalinaでも稼働させられています!

      削除
  2. Catalinaで動作させているのはすごいです。とてもEFIの中を参照させて頂きたいのですが、どこかにアップ可能でしょうか?

    返信削除
    返信
    1. ご覧いただきありがとうございます。
      一旦現状のものを下記リポジトリに転がしておきました(シリアル等は抜いてあるのでご注意ください)。
      https://github.com/b00t0x/Z9PE-D8_WS_Hackintosh
      OpenCore 0.6.6から上げてないですが、Big Surの起動まで確認しています。
      が、Big SurだとUSB3.0が使えておらず、やや実用には厳しい感じです。

      削除
    2. アッして頂きまして感謝です。確認がとても遅れてしまい失礼しました。
      誠にありがとうございます。Big Surの起動までご確認済とはすごいです。

      削除