On Mon, Mar 26, 2012 at 14:15, Dag Sverre Seljebotn < d.s.seljebotn at astro.uio.no> wrote:
> The problem with VecScatter is that it requires indexing all elements, > which can be rather wasteful in some situations. So I'm wondering if > VecScatter could potentially work with elements of any size, so that one > could send a bunch of elements (a picture of this is only indexing rows of > a row-major 2D array, thus amortizing the indexing overhead and memory use > by the number of columns). IS is abstract, it doesn't have to enumerate every entry. http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/IS/ISCreateStride.html http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/IS/ISCreateBlock.html As Matt says, PetscSF has a similarly convenient API (although somewhat lower level), but is more flexible. It requires MPI-2 right now because it uses one-sided communication (low setup cost), but I plan to write an implementation over point-to-point so that it would have similar flexibility to in which MPI calls actually get used. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120326/e8f8fbb9/attachment.htm>
