[ofa-general] Question about exchanging DAT_RMR_TRIPLET
Arlin Davis
ardavis at ichips.intel.com
Fri Feb 1 14:18:03 PST 2008
Chuck Hartley wrote:
> Hello,
>
> We are doing RDMA transfers using UDAPL and just added a machine with a
> different endianness than the rest of the current machines. We register
> a memory region and get a DAT_RMR_TRIPLET that we then send to the
> remote machine. On the receiving end, are you supposed to use the
> triplet as is, or do you have to byte swap it to the native order or
> some specific endianness?
Unless interfaces are specifically defined as endian type then you need
to assume host order. Convert your TRIPLET information to network order
and exchange/swap accordingly. Look at v2 dtest.c or dtestx.c source
as an example.
I couldn't find anything in the UDAPL document
> addressing this.
>
> On a related issue, we register a single large memory region that we are
> doing transfers from. However, we are doing small transfers at varying
> offsets within that region. We are currently doing this by modifying
> the address field of the DAT_RMR_TRIPLET we received. Is this an ok
> thing to do, or is there some other way to do RDMA transfers of varying
> size/offset from within a single registered memory region?
This will work fine, just make sure you are never accessing the same
memory window via simultaneous operations.
-arlin
More information about the general
mailing list