gpt4 book ai didi

atomic - mpi 原子读/修改/写

转载 作者:行者123 更新时间:2023-12-04 14:43:09 25 4
gpt4 key购买 nike

有没有一种简单的方法可以在 mpi 中实现原子整数运算(单边)?我上次看是三年前,mpi 书中的例子实现起来相当复杂。

最佳答案

单方面 MPI 相当复杂,具有大约三种(更像是两种半)不同的机制。

前两种模式是“主动目标同步”,其中目标(目标进程,进行单向调用的进程称为原点)明确声明一个纪元,在此期间它的窗口(“共享”区域)暴露了。然后,您可以区分集体声明的这个纪元 (MPI_Win_fence) 和它是一个组的本地纪元 (MPI_Win_start/post/等待/完成 调用)。

通过 MPI_Win_lock/unlock 调用完成了一些接近真正的单方面的事情,其中​​源锁定目标上的“共享”区域以获得对其的独占访问.这称为“被动目标同步”,因为目标完全不知道其共享区域发生的任何事情;这需要在目标上运行一个守护进程。

到目前为止,MPI-2 的状态。不幸的是,您只能在锁定/解锁时期读取或写入,但不能同时读取或写入,因此无法以直接的方式进行原子获取和任何操作。这在 MPI-3 中得到了解决,它具有 MPI_Fetch_and_op 指令。

例如,如果您使用 MPI_REPLACE,您会读取“共享”内存中的区域,并用您指定的内容覆盖它。这足以实现原子操作。

关于atomic - mpi 原子读/修改/写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2901978/

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