每次运行MPI应用程序时,我都会进行不同的时间测量。我正在测量这样的时间:
MPIt1 = MPI_Wtime();
// do work
MPIt2 = MPI_Wtime();
MPIelapsed = MPIt2 - MPIt1;
行为相同,有或没有MPI_Barrier(MPI_COMM_WORLD);
。当然,每次可执行文件运行时,程序的结果都是正确的。
检查我得到的5x5矩阵的极端差异:
0.00025 seconds // first run
0.10728 seconds // second run
此外,问题出现在更大的矩阵中,如2000x2000:
0.55996 seconds // first run
0.83657 seconds // second run
我是以错误的方式衡量时间吗?或者这是MPI的一个知道问题?请注意,仅从主节点报告时间。
我在另一台计算机上运行该程序,我已使用ssh
登录。我记得当我真正坐在那台电脑上时执行得更快。我是唯一登录的用户:
gsamaras@pythagoras:~/konstantis/cholesky$ who
gsamaras my internet connection
gsamaras@pythagoras:~/konstantis/cholesky$
编辑有很多次运行:
1.6035
0.422967
1.53891
0.347107
0.761991
1.22824
0.934829
0.45618
0.794225
0.554099
1.09323
0.421858
0.621015
0.889867
0.613867
0.459144
2.02273
0.67689
2.2390
1.0448
0.751333
修改 _2
答案 0 :(得分:1)
来自同事和Patrick我得出结论: