On Wed, 19 May 2010, Derek Gaston wrote: > On May 19, 2010, at 4:22 PM, Roy Stogner wrote: >> Potential new inefficiency in rare user codes: if the user wants to >> call his normal assembly function, but then assemble in additional >> terms before using the result, a close() in between would be >> unnecessary extra communications. > > Would this really be the case? I thought NumericVector kept track > of whether or not it was closed and wouldn't redo communication.
That's a really good idea for a feature to add, but that doesn't seem to be how it works now. > Certainly I can't imagine Petsc redoing communication if you close a > vector twice (what would it communicate the second time?). It would communicate the fact that there's nothing to communicate, I think. :-D I don't know enough about PETSc internals, but I'd assume that, even if processor 0 hadn't added anything to the vector since the last VecAssembly, it would still have to check to make sure its neighboring processors hadn't either. --- Roy ------------------------------------------------------------------------------ _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel