T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 後はBookの最終調整 | トップページ | FFOテストもやりながら »

Edaxとの性能差は機種依存

今は、TiMediaServerの改良フェーズなのだが、並行してMasterReversi用の更新作業も行っていて、そろそろリリースする筈だ。FFO40-59は、手持ち環境ではCore i7-12700のiiyama PCでのみ、Edax4.5.0並み、という事になる。

ずっと書いてきた様に、Ver1.5.5の終盤解析性能、というか、完全読みのベンチマークにしているFFOテストについては、Edax4.5.0と比べて、FFO60-79については、測定誤差の範囲を超えて、より短時間で処理を終了できる様になっている。

しかし、FFO40-59については、Core i7-12700のiiyama PCでは、同程度の時間で処理を終了できているのだが、Ryzen 9 5900HXのミニPCだとか、Core i7-6700HQのMacBook Pro 15インチ 2016モデルでは、測定誤差の範囲を超えて、より処理時間を要している。

それぞれの環境では、CPUの絶対性能が異なるので、環境ごとに処理時間が変わるのは当然なのだが、環境によって、Edax4.5.0との性能比率が変わる理由については、推測しておく必要がある。

と、いう事で、このブログでは、過去に、色々と推論を書いてきているのだが、最終的な推論としては、Edax4.5.0は並列探索用にYBWCアルゴリズムを使っているので、マルチスレッド動作時には、その関係から、最善手探索中には他探索用のCPUコアを遊ばせているのが、諸々の性能差の原因になっている、という事にしている。

上記の様に考えている状況証拠としては、YBWCアルゴリズムというのは、本来、そういうアルゴリズムだ、という事もあるのだが、電力供給量や冷却が不十分な作者のCore i7-12700の仕事用iiyamaPCでは、MRSolverが20スレッド動作すると性能が劣化するにも拘わらず、Edaxは劣化しない、という事がある。

つまり、上記は、CPUを遊ばせているからこそ、20スレッド動作時にもサーマルスロットリングが発生しない、と、考える事ができるし、大昔から不思議だった、Edaxはハイパースレッディング動作による性能向上率が高い! という謎の回答にもなる訳だ。

何故なら、ハイパースレッディング動作時には、1コア分+少ししかないCPU資源を2スレッドが共有するので、2スレッドがフルに動作していれば、本来なら、1~3割程度の性能向上しかしない、と、インテルは言っているのだが、考えてみると、各スレッドが要所要所でWait動作をしているのなら、そのWait動作中にもう一つのスレッドがCPU資源を利用できる訳だ。

つまり、ハイパースレッディング動作時の性能向上率が高い! というのも、逆に、上記のEdaxの探索処理では、CPUコアを遊ばせている期間がそれなりにある、という状況証拠になる訳だ。

と、いう事なので、例えば、8コア16スレッドのRyzen 9 5900HXのミニPCで、8コアまでは、Edax4.5.0と比べて性能が同等か少し良いくらいのMRSolverは、16スレッド動作させると、少し差を付けられて性能的には劣る事になっている訳だ。

これは何故なのかというと、MRSolverは、YBWCアルゴリズムとは異なり、最善手探索中にもその他の着手候補を探索するので、理屈の上では、YBWCアルゴリズムを使う場合よりも、CPUコアを遊ばせている期間は少ない訳だ。

なので、ハイパースレッディング動作となる16スレッド動作時には、普通のハイパースレッディング分の性能向上しかないのに対して、Edaxは、元々遊ばせていた期間にハイパースレッディング用の追加スレッドが処理を行う様になる分、より高い性能向上率を達成できる。

このため、ハイパースレッディングを行っていない状況で、処理性能的に、かなり上にいない限り、ハイパースレッディング時には性能的に負けてしまうのは当然! になる訳だ。

もっとも、Core i7-12700はPコアとEコアで構成されていて、Eコアではハイパースレッディング動作は行われない。

つまり、Core i7-12700のEコアでは、Edaxはコアをそれなりの期間遊ばせている筈なので、コアを遊ばせる期間がより短いMRSolver的には、有利になる筈な訳だ。

その結果として、EdaxはRyzen 9 5900HXのミニPCとCore i7-12700のiiyama PCでの性能を比べると、シングルスレッド性能はiiyama PCで、それなりに高くなっているのだが、マルチスレッド性能は同等程度だったりする、と、考えられる。

また、Ryzen 9 5900HXのミニPCでは、FFO40-59の処理性能がEdax4.5.0に届かないMRSolver的には、iiyama PCでは、同等の性能が出ている、と、考えられる。

もっとも、シングルスレッド性能を比較すると、Edax4.5.0はiiyama PCで15%程度の向上になるのだが、MRSolverは22%程度の向上になる。

つまり、YBWCと無関係のシングルスレッド時の性能についても、MRSolverはiiyama PCで、Edax4.5.0との差が詰まる格好になっているのだが、その理由は、CPUキャッシュサイズの違いか、メモリ性能の違い、という事になる筈だ。

CPUキャッシュのサイズの違いについては、CPUスペックの話になるので、かなり前から把握できていたのだが、メモリ性能の違いについては、双方とも、DDR4-3200のメモリが使われているので、同等かなあ、と、思ったりもしていた。

しかし、ベンチマークソフトである所のCrystalMarkのMEMベンチで測定してみた所、結構、異なっていた。

また、少し古いPCである所のMacBook PRO 15インチ 2016モデルのメモリ性能も、結構、異なっていた。

以下にそれぞれの測定結果を載せておく。

仕事用 iiyama PC (Core i7-12700@16スレッド)

Read           96338.47 MB/s

Write          71574.11 MB/s

Read/Write  52525.34 MB/s

Cache      1540795.39 MB/s

 

MinisForum HX90 (Ryzen 9 5900HX@16スレッド)

Read           50515.32 MB/s

Write          20270.83 MB/s

Read/Write  20282.77 MB/s

Cache       732769.48 MB/s

 

MacBook Pro 15インチ 2016 (Core i7-6700HQ@8スレッド)

Read           22403.87 MB/s

Write          13537.66 MB/s

Read/Write  13306.85 MB/s

Cache       224417.75 MB/s

と、いう事で、上記を見ていると、メモリアクセスが多い! と、公言してきているMRSolver的には、Edaxと比べた場合の性能は、動作環境によって、結構、変わってくるのも、当然かなあ、という気もしてくる筈だ。

« 後はBookの最終調整 | トップページ | FFOテストもやりながら »

2026年10月
日 月 火 水 木 金 土
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google