Yeah, that seemed to do the trick, thank you. I'm curious though, is there a constant somewhere in code that indicates what the maximum size the PML header can be? I appreciate it's 32 right now, but I never feel right just hard coding that in.
2009/4/13 George Bosilca <bosi...@eecs.utk.edu> > > On Apr 12, 2009, at 21:58 , Timothy Hayes wrote: > > I was wondering if someone might be able to shed some light on a couple of >> questions I have. >> >> When you receive a fragment/base_descriptor in a BTL module, is the raw >> data allowed to be fragmented when you invoke the callback function? By that >> I mean, I'm using a circular buffer in each endpoint so sometimes data loops >> back around. Currently I'm doing a two step copy: from my socket to the >> circular buffer and then from the circular buffer to the fragment. This >> actually effects my total throughput quite a bit, it would be much nicer to >> just point to the buffer instead. When I tried using two base_segments to >> point to the start and end of buffer I got some pretty strange errors. I'm >> just wondering if someone could confirm or deny that you can or can't do >> this, maybe those errors were down to human error instead. >> > > On the descriptor you can set a number of iovec containing the raw data. > You don't have to make it contiguous prior to calling up in the PML. I think > the PML header has to be contiguous, so you have to make sure that the first > 32 bytes of the message are contiguous. > > My other question is about the BTL failover system. Would someone be able >> to briefly explain how it works or maybe point me to some docs? I'm actually >> expecting the file descriptors in my module to fail a certain point during >> an Open MPI job and I'd like my BTL module to fail gracefully and allow the >> TCP module to take over in its place. I'm not sure how to explicitly make >> the the BTL module say to the rest of Open MPI "don't use my anymore" >> though. >> > > There is no way to say don't use me "at all" anymore. This is per peer > based, so you will have to return an error on every peer. Try returning > OMPI_ERR_OUT_OF_RESOURCE from all functions that allocate descriptors > (_alloc, _prepare_src and _prepare_dst), and the PML will end-up removing > this BTL from the list. > > george. > > >> Happy Easter >> Tim >> >> _______________________________________________ >> 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 > >