MPI-3标准规定,当且仅当原始和目标进程相同时MPI_Win_lock(...),锁定类型MPI_LOCK_SHARED必须是阻塞(独占)锁定.MPI_Win_lock_all是锁定类型的窗口中的所有进程的锁定MPI_LOCK_SHARED.
这是否意味着MPI_Win_lock_all还会创建从原点到原点的独占锁定?
否。 MPI_Win_lock_all会在与该窗口关联的所有进程(从技术上讲,在与该窗口关联的组中)引入共享锁。
无论如何,共享锁和排它锁是不同的。请不要将共享锁获取在某些远程状态上阻塞的可能性与独占锁混为一谈。