エンジンの強度はハードウェアにどのように対応しますか?


14

4コアマシンでKomodoを実行するとします。8コアのマシンを使用した場合、Komodoはどれくらい強力になりますか?40コアのマシンですか?4000コアのマシンですか?

これに一般的な関係はありますか?また、このスケーリングは使用されるエンジンに依存しますか?


+1; また興味深いのは、RAMの可用性の増加に応じて強度がどのようにスケーリングするかです。
GloriaVictis

1
現在、これに対する答えは、複数のコアを効率的に使用するソフトウェアの能力に大きく依存しています。常に利益の減少の問題ですが、カットオフが2、4、8 ...コアにあるかどうかはソフトウェアに依存します。いくつかのスーパーユーザーの質問を参照しますsuperuser.com/search

2
アムダールの法則を参照してください。すべてのコンピュータープログラムは、非常に多くのコアのみの恩恵を受けることができますが、追加しても計算の速度は上がりません。チェスプログラムはコンピュータープログラムであるため、法律によって制限されています。高度化と最適化のレベルは異なる場合がありますが、4コアで実行するプログラムの40コアと比較して4000コアではそれほどパフォーマンスが向上しないと言っても過言ではありません。
パベル

あなたは1をご検討ください特に満足であることが判明した場合こんにちは、この記事では、まともな答えを受けているようだ受諾与えることが重要だとして、それを閉鎖するほかの記事を取り上げています。それを考慮してくれてありがとう。
user929304

回答:


10

マルチコアはチェスエンジンにとって重要ですが、永遠に拡張することはできません。

  • 特定の深さまでは、ハードウェアの数に関係なく、十分な計算能力がありません
  • はい。スケーリングは実装に大きく依存します。たとえば、単純なミューテックスを使用すると、マルチスレッドプログラミングがはるかに簡単になります(適切なプログラマなら誰でも同意します)が、ミューテックスロックなしで別のエンジンを実行するよりもエンジンの実行がはるかに遅くなります。
  • 40コアのマシンは、8コアのマシンよりも強力になりますが、その程度を述べるのは困難です。4000コアのマシンも40コアよりも強力に動作するはずですが、Eloの小規模な改善のコストを正当化するのは困難です。

1
「いくら」の推定値はありますか?「計算能力を2倍にすると、約50エロです」と言いますか
アリュール

4

部分的な回答:TCEC Stockfishは43のコアとスレッドで動作しますが、いわゆるRedfish kitbitzingエンジン(基本的にはより強力なハードウェアのStockfish)は192のコアと256のスレッドで動作します。Redfishは4倍の速度(1秒あたりのノード数で測定)で動作し、TCEC Stockfishよりも+50 elo強力です。


3

実験はしませんでしたが、 ここに画像の説明を入力してください

@SmallChessが彼の答えで言ったように、必要な計算能力は指数関数的に増大し、特定の深さではそれはあまりにも大きすぎるでしょう。

単純な位置の場合、しかし、そうではありません。なぜなら、エンジンは、最大容量(つまり、最大深度)に達する前に、すべての可能性を調査したからです。


グラフはほぼ正しいようです(強度の増加対リソースの増加であると仮定)。単純なポジションの場合、計算量を増やすことは役に立ちませんが、複雑なポジションの場合、転換点を越えて進むことができるので、特定のポジションを議論の対象外にします。
デニスジャヘルディン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.