MPI_Reduce也是MPI_Barrier的工作吗?
Is MPI_Reduce also does the work of MPI_Barrier?
由于MPI_Reduce和MPI_Barrier是昂贵的命令,所以我必须减少线程之间的一些通信。 我知道MPI_Reduce和MPI_Barrier的主要工作。 有时我观察到MPI_Reduce正在减少一个线程中的所有值,并且它也在做MPI_Barrier的工作。如果我必须使用mpi_Reduce那么我可以跳过MPI_Barrier,是否有可能?
不,MPI_Reduce()
不会隐式执行MPI_Barrier()
。
话虽如此,MPI_Allreduce()
(具有非零大小的数据(执行隐式MPI_Barrier()
,因此这可能适合您的算法。
我不太确定你所说的MPI_Barrier()
是一项昂贵的手术是什么意思。假设你有一个不错的互连,屏障本身应该非常快,并且花费的大部分时间应该是由进程不平衡引起的。
相关文章:
- QSqlquery prepare()和bindvalue()不工作
- 导入库可以跨dll版本工作吗
- 用MacOS Mojave编译C++:致命错误:mpi.h:没有这样的文件或目录
- 以螺旋方式打印矩阵的程序.(工作不好)
- 对象指针在c++中是如何工作的
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- C++为线程工作动态地分割例程
- 为什么我的 std::ref 无法按预期工作?
- 布尔比较运算符是如何在C++中工作的
- MPI突然停止了对多个核心的操作
- SampleConsensusPrerejective(ext.RANSAC)是如何真正工作的
- 不确定要在我的main中放入什么才能使我的代码正常工作
- MPI - 当数组初始化值必须为常量时,如何为工作线程创建部分数组
- MPI 新手 - 关于'mpirun'如何工作和流程管理的一些问题
- MPI 从进程在不再工作时挂起
- mpi你好世界不工作
- MPI代码不工作与2个节点,但与1
- 在多个主机之间分配进程时,打开MPI程序不工作