我注意到一个简单的程序特别奇怪,我一直在用胖树架构的HPC上运行,我不太确定为什么我得到了我得到的结果。
我创建的程序只是在不同数量的进程上打印程序的运行时(使用MPI)。我通过改变进程数的2^n,从2到256,虽然每个进程的执行时间随着进程数从2到8的增加而减少,但这个时间在64个进程时急剧增加。
这可能是因为架构本身吗?我认为执行时间会随着进程数量的增加而减少,但超过一定的进程阈值后,情况似乎并非如此。
我在阅读文档(go figure)后发现了这个问题,并希望在这里发布解决方案,以防有人遇到类似的问题。在我使用的HPC (AFRL的Mustang)上,我在登录节点上使用mpirun执行我的程序。文档明确指出,作业需要通过用户指南第6节中的批处理脚本提交:
https://www.afrl.hpc.mil/docs/mustangQuickStartGuide.html jobSubmit