【发布时间】:2023-04-06 11:37:01
【问题描述】:
为了简单起见并集中精力解决我的问题的核心,我们假设一个由指针变量ptr 在本地寻址的内存位置在多个进程之间共享。我特别使用 C/++ 中的 MPI 共享内存窗口来分配和共享内存。具体来说,假设ptr 引用了一个浮点变量,所以在本地我们有
float* ptr;
现在假设所有进程都尝试将相同的值const float f 写入 ptr,即
*ptr = f;
我的问题是:考虑到所有进程都尝试以相同的方式修改字节的事实,即考虑到f 对于每个过程。因此,我的问题归结为:对于并发写入操作,例如浮点变量,是否存在竞争条件导致字节模式不一致的可能性,尽管每个进程都尝试以相同的方式修改内存。 IE。如果我确定每个进程写入相同的数据,我可以省略同步吗?
【问题讨论】:
标签: c++ mpi shared-memory race-condition atomic