如何计算MPI应用的加速?

时间:2015-04-27 05:43:34

标签: mpi

我希望计算我的MPI应用程序的速度与并行进程/节点的数量。

应用程序主要并行执行巨大的矩阵计算。 我可以使用MPI_Wtime()测量经过的时间,就像这样..

double start = MPI_Wtime();  
....
double end = MPI_Wtime();
double elapsed = end - start;

但是如何在并行化程度上实现这一目标呢?

1 个答案:

答案 0 :(得分:2)

加速的通常定义是1个进程的时间除以p进程的时间。

如果您希望展示代码的效果,最好从1到最高金额中选择一系列p来运行并以加速对比绘制结果。 p情节。

请注意,严格来说,加速应该将p进程的时间与最佳可能的顺序代码进行比较,而不仅仅是按顺序运行并行代码。这似乎是一个没有实际意义的点,但在某些领域,并行代码在顺序情况下非常糟糕。例如,在稀疏矩阵世界中,您可以找到比顶部顺序代码慢10-50倍的并行代码。