<div dir="ltr">Hello List,<br><br>I've been reading the Infiniband Architecture specification, and I'm ready to write my first RDMA-enabled C++ library.  I have looked at some sample code provided by librdmacm, and I'm having a problem going from the big picture of what I want to do to the finer details.<br>
<br>I want to remotely access memory on various compute nodes, and the Infiniband spec does everything I need.  However upon looking at librdmacm, and the Infiniband verbs I don't see how I actually write to remote memory locations.  Also I don't completely understand why I am responsible for creating QPs in userspace, if everything is supposed to be handled by hardware... although I suppose I still have to allocate memory for the hardware to actually use.<br>
<br>I'm looking for some help from this list with a high-level overview of what I have to do to establish a connection between two nodes, and how I would write an object to remote memory, or read an object from remote memory.  My current understanding is that I would use librdmacm to create a connection between the nodes that I want to communicate, and then use the inifinband verbs themselves to read/write memory, and to establish a memory window.<br>
<br>I'm developing on Linux.<br><br>Thanks a lot!<br><br>AJ<br></div>