【发布时间】:2012-04-05 07:04:53
【问题描述】:
我的并行程序是使用 c++ 和 OpenMPI 实现的。当我测试它时,我发现如果我使用更多的 cpus 会花费更多的时间。怎么会这样?
我的代码结构如下:
开始
MPI::Init
if (rank == 0)
{ Read files }
MPI::Bcast
MPI::Scatter
for (i=0; i<N;i++)
{
do something here
MPI::Gather
if(rank ==0)
{ save result}
}
MPI::Finallize()
结束
我对此感到困惑。
【问题讨论】:
-
我对 MPI 了解不多,但我相当肯定,除非你的工作量很长,否则你会看到不好的结果。
标签: c++ time mpi performance-testing