我们在GCE和EC2上都运行了OpenFOAM,发现EC2快了30%,总体上更便宜(因为执行时间更快)。有关指标,请参阅附图。
我们认为是因为mpirun。当在GCE上运行mpirun时,我们得到以下警告:“一个高性能的Open MPI点对点消息传递模块无法找到任何相关的网络接口。将使用另一个传输,尽管这可能会导致性能降低。”
但是,在EC2上运行时,我们不会收到此警告。
有人能帮帮忙吗?
为了明确起见,我们将GCE荷兰数据中心的实例与法兰克福的EC2 C5实例进行了比较,两者都基于英特尔Skylake。

发布于 2019-07-01 23:47:35
你的假设是正确的。OpenMPI正在节点上的硬件中搜索InfiniBand,如果找不到任何硬件,则会回退到标准接口。
我们可以通过在命令行中包含-mca btl ^openib来告诉mpirun永远不要检查InfiniBand硬件(并防止搜索失败)。
具体地说,最初提交为
mpirun -np 3 -hostfile ../mpihosts helloworld现在应该是
mpirun -np 3 -mca btl ^openib -hostfile ../mpihosts helloworld您还可以通过设置
--mca btl_base_warn_component_unused 0如果这对你有效,你可以把"btl_base_warn_component_used = 0“放在$prefix/etc/openmpi-mca-params.conf中(即你的侧面配置)。
https://stackoverflow.com/questions/56815031
复制相似问题