我有一个由多个进程使用的共享内存,这些进程是使用MPI创建的.
现在我需要一种机制来控制这个共享内存的访问.
我知道命名信号量和flock机制可以用来做这个但只是想知道MPI是否为共享内存使用提供了任何特殊的锁定机制?
我在Linux下工作.
解决方法:
MPI实际上确实提供了对共享内存的支持(从3.0版本开始).您可以尝试查看以MPI_WIN_ALLOCATE_SHARED(11.2.3)开头的单面通信章节(http://www.mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf).要使用它,您必须确保拥有支持它的实现.我知道MPICH和Open MPI的最新版本都可以工作.