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,