评估CPU内核的优化 - 页 12

 
Aleksey Vyazmikin:

不幸的是,我是个哑巴,但那里的X>=0可以大于其他任何数字--有很多组合--不可能在代码中提供所有的东西,而且由于不同的组合,代码会增长很多数量级。

有相当多的重复,也有一个值。但这几乎没有帮助。

 
我可以测试Ryzen 3700x。我的假设是否正确,在这三个EA中的每一个,你需要做的是:a)16个通道,开启8个代理b)16个通道,开启16个代理?
 
Quantum_Logic:
我可以测试Ryzen 3700x。我的理解是正确的,对于这三个EA中的每一个,你需要做的是:a)16个通道,开启8个代理b)16个通道,开启16个代理?

试试吧。

 
Aleksey Vyazmikin:

我建议收集各种处理器性能的统计数据,以估计它们在优化模式下对策略测试器的有效性。

为了更加客观,我建议使用在"数学计算"模式下运行的专家顾问,这可以使你尽量减少硬盘和电脑内存的使用。如果可能的话,请说明处理器的名称、主板和内存的频率。

这将是对给定算法的CPU性能的测试,仅此而已。你可以根据基准提前 "大致 "预测它们:https://www.cpubenchmark.net/high_end_cpus.html

例如,对我来说,主要是内存和磁盘的问题(只是内存不够,所有东西都被换掉了)。而在这里,同样的Xeons可以以同样的价格领先于现代的i7-8700k,在8通道模式下工作,例如这里描述的:https://pikabu.ru/story/domashniy_komp_s_servernoy_nachinkoy_6442138

但是,那是我们在谈论矫枉过正的时候。我既要超额完成任务,又要通过单打。这就是为什么我会注意这个表:https://www.cpubenchmark.net/singleThread.html, 更具体地说,是AMD 3600X - 3900X(这取决于你的钱包)。的确,几乎所有的台式机都有2个内存通道。4个通道的服务器解决方案,核心性能将是昂贵的。

另外,我认为MQ将为N个线程制作共同的历史,不会有内存问题。

我还想给大家一个机会,用CUDA编写部分EA,随后在显卡上进行并行化,因为有一个更有趣的视角。

 
Andrey Pogoreltsev:

例如,对我来说,主要是内存和磁盘阻碍了一切(只是没有足够的内存,一切都被交换了)。

你有什么样的CPU和内存? SSD/HDD?

 
Andrey Pogoreltsev:

这将是对给定算法的CPU性能的测试,仅此而已。你可以根据基准提前 "大致 "预测它们:https://www.cpubenchmark.net/high_end_cpus.html

例如,对我来说,在大多数情况下都是内存和磁盘(我只是没有足够的内存,一切都被交换了)。而在这里,同样的Xeons可以以相同的价格领先于现代的i7-8700k,在8通道模式下工作,例如这里描述的:https://pikabu.ru/story/domashniy_komp_s_servernoy_nachinkoy_6442138

但是,那是我们在谈论矫枉过正的时候。我既要超额完成任务,又要通过单打。这就是为什么我会注意这个表:https://www.cpubenchmark.net/singleThread.html, 更具体地说,是AMD 3600X - 3900X(这取决于你的钱包)。的确,几乎所有的台式机都有2个内存通道。4个通道的服务器解决方案,核心性能将是昂贵的。

另外,我认为MQ将为N个线程制作共同的历史,不会有内存问题。

而且我还想给一个机会,用CUDA写一部分EA,然后在显卡上进行并行化,因为有一个更有趣的视角。

因此,openCL就在那里,与显卡并行已经成为可能。
 
Pavel Verveyko:

你有什么样的CPU和内存? SSD/HDD?

我现在有一台Ryzen 5 2600,我在考虑买更强大的东西。

内存为4 x 8GB CORSAIR Vengeance 3000

我的主硬盘是三星970 500Gb NVMe磁盘,但我买了一个SATA-3的1Gb SSD,用于多线程测试,因为我的测试员每次都是怒气冲冲的。

 
Maxim Romanov:
openCL就是这样的,你已经可以在显卡上进行并行化。

它能在策略测试器中 实现并行化吗?也就是说,我可以在一个CPU核上的OpenCL上运行N个优化线程吗?

 
Andrey Pogoreltsev:

它能在策略测试器中 实现并行化吗?也就是说,我可以在一个处理器核心上的OpenCL上运行N个优化线程吗?

在测试器中,专家顾问的内部逻辑可以在OpenCL上并行化,但不包括历史通道。

 

OpenCL当然很好,但只有当我们谈论的是要在开发者的硬件上解决的具体任务时,否则对产品的要求就会大大增加。这些任务可以是。

  1. 绘制三维图形/模型(有问题的任务)。
  2. 神经网络计算
  3. 专家顾问优化的 并行化 - 这将是非常酷的。如果专家顾问可以包含可以并行的OpenCL代码。但为此,无论处理器核心的数量如何,策略测试器应该能够运行N个EA实例。当然,首先你必须为实例创建一个带刻度的共享内存。
  4. 矿业))))
PS。顺便说一下,在云计算机器上运行OpenCL挖矿是很有趣的,看看可以获得多高的计算能力)