我的并行程序是通过使用C++和OpenMPI实现的。当我测试它时,我发现如果我使用更多的cpus,它会花费更多的时间。这怎么会发生?MPI使用更多cpus花费更多时间
我的代码的结构如下:
BEGIN
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()
END
我很困惑这个问题。
我对MPI了解不多,但我相当确定除非你的工作负荷很长,那么你会看到不好的结果。 – 111111 2012-03-20 19:00:32