On Wed, Nov 24, 2010 at 23:47, Barry Smith <bsmith at mcs.anl.gov> wrote:
> Not sure exactly how to do this. I think I want each implementation to do > whatever checking is appropriate for its data storage. For example, one can > do a VecDot() with a native Vec that is currently gotten with a read or a > write but for implementations that make a copy with the get array they > cannot. My concern is with (1) multiple threads at some future date, and (2) respecting the API so that the code will still work if they use a non-native Vec. Is there a compelling reason why a user should be able to VecDot while a write pointer is checked out? Is KSPSolve_IBCGS justification? A side-effect of enforcing this consistently is that we can provide an error message sooner when the user just forgets VecRestoreArray (instead of a potential memory leak or error at VecDestroy). Jed -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20101125/09648c89/attachment.html>
