Fdtd solution对cpu和内存的配置有什么要求?

fdtd

#1

孙老师您好!
我们最近用了20核384G内存的计算机(两颗E5-2660 v2@2.2GHz,ddr3 1333的384G内存)测试一个FDTD程序,需要5.5小时,发现它算的比6核64G的计算机(一颗E5-1650 v4@3.6GHz,ddr4 2400的64G内存)还要慢一些(4.5小时),不明白其中的原理。
这个程序需要计算2000fs,18.1713 MNodes,已经使用了symmetric和anti-symmetric边界条件了,如何配置cpu和内存 能尽量算的快一些?
另外,程序在running状态的时候,cpu使用了100%,内存使用率一直不高,只使用了20G,大部分内存都在闲置,这是正常的吗?
谢谢!


#2

你要知道,你的仿真瓶颈在哪里。比如这里的内存足够大,那么核心越多,主频越高“可能”速度越快,
比如这里的e5-1650 主频就更高。
而20核的机器核心更多,问题可能出在主频低,核心间的数据交换更慢,比让100个大力士平均处理一个只需要2个普通工人就能完成的任务,前者的时间耗费在任务拆分同步合并上,所以会比后者更慢
参考这个


#3

计算快慢,除了与硬件有关外,还与仿真文件的大小有关。文件太小,用多个核可能反而更慢,取决于核所用的技术,超过一个Process或者Thread后,仿真计算的每一步都需要交换数据,而核与核之间交换数据要比核内交换速度要慢。当这种数据交换的时间超过每一步仿真计算的时间后,效率就大大大降低了!

所以请先测试所用的Process和Thread是否最佳,可以先用MemoryCheck看看所需要的内存。

如果问题解决了,请参考这个帖子将此帖标记为已解决,谢谢! 如何查找已有问题/答案、发新贴、修改帖子和标记帖子问题已解决 (不用回帖)


#4

谢谢孙老师!
问题已解决。


#5

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.