引擎强度如何随硬件缩放?


14

假设我在4核计算机上运行Komodo。如果我使用8核计算机,那么Komodo的性能会提高多少?40核机器?4000核的机器?

是否有一般关系?另外,此缩放比例是否取决于所使用的引擎,如果是,为什么?


+1; 同样令人感兴趣的是:强度如何随着RAM可用性的增加而扩展。
GloriaVictis

1
如今,解决方案在很大程度上取决于软件有效使用多个内核的能力。收益递减始终是一个问题,但是临界值是否在2、4、8 ...内核取决于软件。浏览一些超级用户问题:superuser.com/search?

2
参见阿姆达尔定律。任何计算机程序只能受益于这么多的内核,增加更多的内核将无助于加快计算速度。任何国际象棋程序都是计算机程序,因此受法律限制。它们的复杂程度和优化级别可能有所不同,但是可以肯定地说,与在4个内核上运行的程序的40个内核相比,使用4000个内核不会获得更高的性能。
帕维尔

嗨,这篇文章似乎收到了不错的答复,如果您发现一个特别满意的内容,请考虑接受它,因为重要的一点是关闭好处理的帖子。感谢您考虑。
user929304

Answers:


10

多核对象棋引擎很重要,但不会永远扩展。

  • 到一定深度,无论您拥有多少硬件,您都没有足够的计算能力
  • 是。扩展在很大程度上取决于实现。例如,一个简单的互斥锁将使多线程编程更加容易(任何体面的程序员都会在这里同意),但这也将使该引擎的运行速度比没有互斥锁锁定的另一个引擎运行慢得多。
  • 40核计算机的性能将比8核计算机强,尽管很难说明多少。4000核的计算机还应该比40核的计算机更强大,但是很难为小规模的Elo改进辩护成本。

1
是否有“多少”的可能估计?说“将计算能力加倍大约是50 elo”?
倾城

4

部分答案:TCEC Stockfish使用43个内核和线程,而所谓的Redfish kitbitzing引擎(基本上是功能更强大的硬件上的Stockfish)使用192个内核和256个线程。以4倍的速度运行(按每秒节点数衡量),Redfish比TCEC Stockfish强50埃洛。


3

我没有做实验,但我认为应该像 在此处输入图片说明

正如@SmallChess在他的回答中所说:所需的计算能力呈指数增长,并且在一定深度处会太大。

对于更简单的位置,事实并非如此,因为引擎会在达到其最大容量(即最大深度)之前就已经探究了所有可能性


该图似乎正确(假设它是力量增加vs资源增加)。对于简单的职位,没有更多的计算能力,但是对于复杂的职位,它可能会带您跨越临界点,因此我将不讨论特定职位。
丹尼斯·贾赫鲁丁
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.