gpt4 book ai didi

c - MPI_Barrier 和 MPI_Gather 使用小数据集还是大数据集?

转载 作者:太空狗 更新时间:2023-10-29 15:23:22 26 4
gpt4 key购买 nike

<分区>

我一直在使用 MPI_Scatter/MPI_Gather 进行各种并行计算。我注意到的一件事是,通常调用 MPI_Barrier() 来同步处理器,类似于 OpenMP 屏障指令。我正在为一个项目调整我的代码并在下面注释掉我的 MPI_Barrier() 行,发现计算仍然正确。为什么会这样?我可以理解为什么需要第一个 MPI_Barrier() - 其他处理器不需要等待;一旦他们从处理器 MASTER 获得数据,他们就可以开始计算。但是在 MPI_Gather 之后是否需要 MPI_Barrier,或者 MPI_Gather 中是否已经有一个隐式屏障?

编辑:在这种情况下,正在处理的数据大小重要吗?

MPI_Scatter(&sendingbuffer,sendingcount,MPI_FLOAT,receivingbuffer,sendcount,
MPI_INT,MASTER_ID,MPI_COMM_WORLD);

// PERFORM SOME COMPUTATIONS
MPI_Barrier(); //<--- I understand why this is needed

MPI_Gather(localdata,sendcount, MPI_INT, global,sendcount, MPI_INT, MASTER_ID, MPI_COMM_WORLD);
//MPI_Barrier(); <------ is this ever needed?

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