gpt4 book ai didi

mpi - MPI/OpenMP 混合代码中的计时单一功能

转载 作者:行者123 更新时间:2023-12-01 05:27:00 25 4
gpt4 key购买 nike

我有一个带有 MPI/OpenMP 的混合代码。我想知道每个 MPI 进程在特定功能上花费的时间是多少,比如说 A。这个函数在 OpenMP do/for 循环内部也被其上的各种函数以一种非常复杂的方式调用(即一些其他函数,假设 B 和 C 可能正在调用 A,它也可能在 OpenMP do/for 循环内部) .我打算这样做:

double A()
{
time1 = MPI_Wtime();
//compute result...
//Note: inside this function there is no OpenMP or MPI calls...
// just pure computation of results...
time2 = MPI_Wtime();
printf("myRank=%d timeSpent=%f\n", myRank, (time2-time1));
return result;
}

每个 MPI 进程的所有时间的总和是该 MPI 进程为该功能花费的总时间吗?如果没有,请您告诉我如何正确获取它,谢谢!

最佳答案

我们不想重新发明轮子,也不想重新发明 MPI 分析器。那会很难。

许多集群系统的制造商提供了非常强大的工具。例如,Cray 机器通常带有 CrayPat,其中 spits out magic .

此外还有免费软件,例如 http://mpip.sourceforge.net/

关于mpi - MPI/OpenMP 混合代码中的计时单一功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13407234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com