【发布时间】:2021-09-08 14:25:59
【问题描述】:
int myrank,
numprocs;
double mytime, /*variables used for gathering timing statistics*/
maxtime,
mintime,
avgtime;
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Barrier(MPI_COMM_WORLD); /*synchronize all processes*/
mytime = MPI_Wtime(); /*get time just before work section */
work();
mytime = MPI_Wtime() - mytime; /*get time just after work section*/
/*compute max, min, and average timing statistics*/
MPI_Reduce(&mytime, &maxtime, 1, MPI_DOUBLE, MPI_MAX, 0, MPI_COMM_WORLD);
MPI_Reduce(&mytime, &mintime, 1, MPI_DOUBLE, MPI_MIN, 0, MPI_COMM_WORLD);
MPI_Reduce(&mytime, &avgtime, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD);
if (myrank == 0) {
avgtime /= numprocs;
printf("Min: %lf Max: %lf Avg: %lf\n", mintime, maxtime, avgtime);
}
在这里,我总是喜欢
Severity Code Description Project File Line Suppression State
Error C3861 'work': identifier not found Activity1 C:\Users\Acer\Desktop\Self Study\MPI\Activity1\Activity1.cpp 39
这是我从教程中获得的代码,所以我对 c++ 没有很好的了解。所以请在这种情况下帮助我。这个我试过很多次了。
【问题讨论】:
-
#include
#include #include ,这些是我的导入 -
教程有没有说你必须实现
work子程序? -
请编辑您的问题,包含所有必要的编译位。
-
eecis.udel.edu/~pollock/367/manual/node23.html,这是教程的链接@GillesGouaillardet
-
教程建议你需要实现你想要计时的
work()子程序。