[分享]反馈――wh8对于CPU内核数以及内存带宽的敏感性 (文华财经WH8赢智V8.2)

投资者咨询:[分享]反馈――wh8对于CPU内核数以及内存带宽的敏感性 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-11-14 12:17
 不是提问,是反馈一下观测到的现象。

经过一段时间的wh8软件使用,发现一些规律。

1、文华8的枚举和内存带宽高度正相关。


图片点击可在新窗口打开查看上图为单通道内存配置下的内存及缓存带宽图。

图片点击可在新窗口打开查看上图为双通道内存配置下的内存及缓存带宽图。
在同一回测条件下,模型回测→枚举测试中,同一计算机平台,双通道内存配置比单通道配置快80%左右(即单通道用时比双通道长80%左右)
单通道的情况下,枚举测试的速度甚至比不上我的笔记本……
另外,贴分测试数据,AMD  3600 CPU,双通道DDR4  3200 64GB内存。
500项枚举,12线程,10:51:10开始,10:54:36结束,时长206秒。线程×时长=2472。
500项枚举,10线程,11:15:30开始,11:19:18结束,时长228秒。线程×时长=2280。
500项枚举,8线程,11:10:10开始,11:14:30结束,时长260秒。线程×时长=2080。
500项枚举,6线程,10:55:30开始,11:00:44结束,时长314秒。线程×时长=1884。
500项枚举,4线程,11:02:11开始,11:09:24结束,时长433秒。线程×时长=1732。
500项枚举,2线程,11:20:35开始,11:36:19结束,时长944秒。线程×时长=1888。
而理论上线程×时长,应该是恒定值,当然这是理论上。而测试结果中,数据存在拐点,大概在6线程~8线程之间。
忽略其他的误差,大致就可以认定
6线程以下,“CPU性能/缓存”为主要限制,“内存带宽”为次要限制。
8线程以上,“内存带宽为主要限制,“CPU性能/缓存” 为次要限制。
而现在主要的常用CPU都在6~8线程以上,低于6线程的CPU的缓存也会相应减少,也就是说,
大多数时候,枚举的限制是在内存带宽上的,CPU性能是富余的。CPU多半是在等内存控制器送数据过来。
2、日常使用和CPU性能/缓存高度相关
日常使用过程中,尤其是加载大量k线图的时候,任务管理器里面,大多数时间只有1个线程在运行。
也就是说,你的CPU有一万个核,也只有1个在工作,也就是多核围观。
图贴不上来……
根据上一条的测试结果,也可以表明,在6线程以下,CPU为主要限制瓶颈。
3、买电脑的建议
如果是日常交易使用,常用消费机平台就可以了,内存一定插满2通道,CPU核心数不是特别重要,一般都够用,主要是主频要高,缓存要大。
如果经常做大量的枚举回测,CPU内核数不变的情况下,内存条一定要插够通道数。消费级平台,2通道就可以了。发烧级平台,一般是4通道。服务器平台,多半是4~8通道,可以有效减少回测时间,增加效率。
4、对软件编写的建议
在日常使用的过程中,如果把大量使用单线程的地方,针对性地优化成多线程,会大大提高软件的速度。
       
技术人员回复
日期:2019-11-14 13:05
 感谢您的分享

主图计算是串行计算,是单线程的

参数优化、组合测试这种是多线程的,线程数越多计算越快的

线程数是最主要的,内存也有有一定的影响 
投资者咨询:[分享]反馈――wh8对于CPU内核数以及内存带宽的敏感性 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-11-14 12:17
 现在单核性能很久没有提高了,有的时候串行计算,是不是也要分割成多个阶段搞一搞
技术人员回复
日期:2019-11-14 13:49
 目前的机制下,主图暂时做不到多线程计算,只能是串行单线程。
投资者咨询:[分享]反馈――wh8对于CPU内核数以及内存带宽的敏感性 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-11-14 12:17
 我测试了2133频率跟3000频率的内存时间几乎一样,单通道8g跟双通道16g 也没啥差别,cpu也是3600.
投资者咨询:[分享]反馈――wh8对于CPU内核数以及内存带宽的敏感性 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-11-14 12:17

 我的回测数据是3000频率情况下,A8g单通道5分21秒。B8G单通道5分35秒。8g双通道共16g。5分36秒(第二次5分17秒)。2400频率情况下8g单通道5分16秒。这时cpu是amd3600。A8G是内存2根套条中的第一根,B8G是另一根。

cpu是i3 8100四核心4线程的情况下。频率2400,单8g时间7分钟。2400双通道16g用时7分09秒。

其实每次测都不一样。

投资者咨询:[分享]反馈――wh8对于CPU内核数以及内存带宽的敏感性 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-11-14 12:17
 老用户经验丰富了,不可能只开一个文华,6,7,8同时运行的不是个别,多开,多屏下电脑压力大,吃U,吃内存,宽带尽量光纤。
投资者咨询:[分享]反馈――wh8对于CPU内核数以及内存带宽的敏感性 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-11-14 12:17
 以下是引用5099636号用户在2019/11/14 17:25:00的发言:

 我的回测数据是3000频率情况下,A8g单通道5分21秒。B8G单通道5分35秒。8g双通道共16g。5分36秒(第二次5分17秒)。2400频率情况下8g单通道5分16秒。这时cpu是amd3600。A8G是内存2根套条中的第一根,B8G是另一根。

cpu是i3 8100四核心4线程的情况下。频率2400,单8g时间7分钟。2400双通道16g用时7分09秒。

其实每次测都不一样。

 
你还需要提供一些其他的数据。
我的枚举是1000结果的。k线是分钟,回测范围3个月。我确保是在收市情况下,在同一条件下进行的测试,server 2016系统虚拟机上,只开文华的时候运行的。
另外你需要提供内存频率以及带宽截图。
投资者咨询:[分享]反馈――wh8对于CPU内核数以及内存带宽的敏感性 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-11-14 12:17
 以下是引用5066566号用户在2019/11/14 21:26:00的发言:
 老用户经验丰富了,不可能只开一个文华,6,7,8同时运行的不是个别,多开,多屏下电脑压力大,吃U,吃内存,宽带尽量光纤。

 你这种抽象的话语,说了不少话,却又没有什么内容……

你即使文华6、7、8、8模拟  全开,日常交易的情况下,4核心8线程的CPU,同频下和16核32线程的CPU,区别不大,属于误差范围……因为日常使用主要都是单线程的……区别可能在缓存分配和高温降频方面
我说得很清楚了,日常使用,和单核频率高度相关……
枚举回测,和内存带宽高度相关……