我正在具有以下规格的Linux机器上运行仿真。
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 80
On-line CPU(s) list: 0-79
Thread(s) per core: 2
Core(s) per socket: 20
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
Stepping: 4
CPU MHz: 3099.902
CPU max MHz: 3700.0000
CPU min MHz: 1000.0000
BogoMIPS: 4800.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 28160K
这是我的求解器的运行命令行脚本。
/path/to/meshfree/installation/folder/meshfree_run.sh # on 1 (serial) worker
/path/to/meshfree/installation/folder/meshfree_run.sh N # on N parallel MPI processes
我与我的另一个同事共享该系统。他使用10个内核作为解决方案。在这种情况下,对我来说最快的选择是什么?使用30个MPI流程?
我是一位机械工程师,对并行计算知识很少。因此,如果问题太愚蠢,请原谅。
Q:“在这种情况下,对我来说最快的选择是什么?...时间短。我已经在模拟过程中。”
向亚琛致敬。如果不是事后的话,最快的选择将是预先配置计算生态系统,以便:
lstopo
,或者使用lstopo-no-graphics -.ascii
而不是lscpu
Q
[不,对于ASAP处理,这不是一个合理的假设-对于已经进行MPI并行处理的工作人员,使用尽可能多的CPU-Amdahl's Law explains原因。
当然,在某些情况下,可能会出现一些细微的差异,在某些情况下,如果一个或多个工人的通信开销可能会略有减少,但是在FEM中需要蛮力处理规则,网格求解器(通信成本通常比大规模的,FEM分段的数值计算部分便宜,但只发送少量的相邻块的“边界”节点的状态数据)
下一次-最好的选择是获得用于处理关键工作负载的限制性较小的计算基础结构(考虑到业务关键条件,认为这是平滑BAU的风险,如果对您的业务连续性产生更大的影响,则为该因素。