On Thu, 4 Nov 2010, Kirk, Benjamin (JSC-EG311) wrote: >>> Long-term, there are two policy options that I think make sense: >>> >>> 1. Don't ever do MPI_Request_free implicitly from a Request object. >>> >>> 2. Do reference counting in Request objects; do an MPI_Request_free >>> when the last reference is destroyed. >>> >>> I can see pros and cons to each; I'd appreciate others' opinions. >> >> I like #2, but the question is, how much overhead that will produce. >> My feeling is that it is negligible, but I might be wrong. > > Since requests are associated with interprocessor communication I am sure > the overhead associated with reference counting is trivial in comparison.
Ben's exactly right. My only concern with #2 is the implicit shared reference behavior between Request objects and MPI_Request objects. I could imagine someone using a raw MPI_Request to initiate an operation, creating a Request from it, letting the Request go out of scope (freeing the underlying request), then expecting the MPI_Request to still be useful afterwards. Kind of a stretch, but if there are unlikely failure cases that I can quickly come up with I worry that there might be subtle failure cases I just haven't spotted yet. --- Roy ------------------------------------------------------------------------------ The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book "Blueprint to a Billion" shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
