Dear OpenMPI developers, My question is not directly related to OpenMPI, but might be related to internal project kitchen and your wide experiences.
Say, there is a need to implement a transparent read/write of PCI-Express device internal memory from the host system. It is allowed to use only software capabilities of PCI-E device, which can memcpy synchronously and asynchronously in both directions. Memcpy can be initiated both by host and device. Host is required to implement its device memory read/write in critical sections: no PCI-E code could be using the same memory, while it is in operation. Question: could you please point related projects/subsystems, which code could be reused to implement the described functionality? We are mostly interested in ones implementing multiple strategies of memory synchronization, since there could be quite some, depending on typical memory access patterns, for example. This subsystem is necessary for our project, however not its primary goal, that's why we would like to borrow existing things in best possible way. Thanks and best regards, - Dima.