I wanted to post another followup to this message.

I realize that the design philosophy implies that the BTL should operate at a level of abstraction where it merely shuttles bytes around. However, my recent experience suggests that it might actually be useful to have the ability to selectively query the context in which this data is being used, such as message tags, contexts, etc.

In order to have this, though, I'd need to be able to fetch the context and tag information from the header when it arrives at the BTL. This data appears to have been transformed somehow when it gets to that layer, though, and I'm trying to figure out how. Has something arcane been done to this data aside from switching byte ordering?

Thanks,
Karol
George Bosilca wrote:
Karol,

There is no way to know the MPI tag at the BTL level. The BTL is protocol agnostic, it only moves bytes around (BTL = Byte Transport Layer). Moreover, the BTLs can be (and are) used by different PML, each of them supporting a different protocol.

Now, let talk specifically about the OB1 PML. The first X bytes contain a message header, but this message header differ based on the protocol used to transmit the message. There are multiple protocols: eager, send/recv, RDMA. If you look in ompi/mca/pml/ob1/pml_ob1_hdr.h you will see the different types of headers used by the OB1 PML. However, do not use this file in the BTL, as the BTL is PML agnostic.

  Thanks,
    george.

On Jul 2, 2007, at 4:56 PM, Karol Mroz wrote:

Good morning everyone. I had a question about obtaining the message tag
from the iovec array in mca_btl_sctp_frag_t* frag from within the
mca_btl_tcp_frag_send() function. If I understand correctly, the first X
bytes in the first iovec entry contain message header information in the
form of an mca_pml_ob1_match_hdr_t struct that contains a hdr_tag field.
When I extract this, I get a number that resembles an address.
Dereferencing this gives, from what I can tell, an incorrect value and
passing the value into ntohl() etc brings me no closer. There is
probably something basic I'm overlooking... any help would be appreciated.

Thanks,
Karol

--Karol Mroz
km...@cs.ubc.ca

_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
------------------------------------------------------------------------

_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel


--
Karol Mroz
km...@cs.ubc.ca

Reply via email to