Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parallel processing MPI并行化时间消耗_Parallel Processing_Mpi - Fatal编程技术网

Parallel processing MPI并行化时间消耗

Parallel processing MPI并行化时间消耗,parallel-processing,mpi,Parallel Processing,Mpi,我有两段代码,每段代码消耗2秒, 在经典结构中,它们在4秒内按顺序运行 在mpi格式中,它应该消耗2秒,但需要5秒 为什么? 什么需要5秒钟? 如果您已经测量了整个程序的时间,那么问题是MPI_Init和MPI_Finalize非常耗时。 为了看到加速,你可以增加你的积木 你测量过不同的积木吗?您是否也测量了MPI的初始化和终结?MPI并不是无价的,尤其是初始化需要一些时间,这对于每台机器和每种MPI实现都是不同的;请提供一份报告。在这个问题上,我们没有提供足够的信息来帮助您。例如,如果您以sl

我有两段代码,每段代码消耗2秒, 在经典结构中,它们在4秒内按顺序运行

在mpi格式中,它应该消耗2秒,但需要5秒

为什么?

什么需要5秒钟? 如果您已经测量了整个程序的时间,那么问题是MPI_Init和MPI_Finalize非常耗时。
为了看到加速,你可以增加你的积木

你测量过不同的积木吗?您是否也测量了MPI的初始化和终结?MPI并不是无价的,尤其是初始化需要一些时间,这对于每台机器和每种MPI实现都是不同的;请提供一份报告。在这个问题上,我们没有提供足够的信息来帮助您。例如,如果您以sleep2为块运行上面的程序,您会发现该程序的运行时间仅比2s长几十毫秒。是的,您是对的,但是当我将一个4的块拆分为两个2的块时。我希望在2秒钟内运行,但它在5秒钟内运行。在这种情况下,您需要发布块的代码。你的block 2秒在一个核心上表现如何?你们有足够的处理器吗?他们在忙别的事情吗?
int main ( int argc, char *argv[] )  
{  
    MPI_Init( &argc, &argv );  
    MPI_Comm_size(MPI_COMM_WORLD,&p );  
    MPI_Comm_rank(MPI_COMM_WORLD,&id);  

    if(id==0)
    {
        // 2 seconds Block
    }
    if(id==1)
    {
        // 2 seconds Block
    }
    MPI_Finalize();  
}