#include "petscvec.h" PetscErrorCode VecScatterCreate(Vec xin,IS ix,Vec yin,IS iy,VecScatter *newctx)Collective on Vec
xin | - a vector that defines the shape (parallel data layout of the vector) of vectors from which we scatter | |
yin | - a vector that defines the shape (parallel data layout of the vector) of vectors to which we scatter | |
ix | - the indices of xin to scatter (if PETSC_NULL scatters all values) | |
iy | - the indices of yin to hold results (if PETSC_NULL fills entire vector yin) |
-vecscatter_merge | - VecScatterBegin() handles all of the communication, VecScatterEnd() is a nop eliminates the chance for overlap of computation and communication | |
-vecscatter_ssend | - Uses MPI_Ssend_init() instead of MPI_Send_init() | |
-vecscatter_sendfirst | - Posts sends before receives | |
-vecscatter_rr | - use ready receiver mode for MPI sends | |
-vecscatter_packtogether | - Pack all messages before sending, receive all messages before unpacking ONLY implemented for BLOCK SIZE of 4 and 12! (others easily added) |
VecScatter VecScatterCreate(Vec x,Vec y,IS is) | -> | VecScatterCreate(x,PETSC_NULL,y,is,&s); return s; | |||
  VecScatterCreate(Vec x,Vec y,IS is,VecScatter *s) | -> | VecScatterCreate(x,PETSC_NULL,y,is,s) | |||
VecScatter VecScatterCreate(Vec x,IS is,Vec y) | -> | VecScatterCreate(x,is,y,PETSC_NULL,&s); return s; | |||
  VecScatterCreate(Vec x,IS is,Vec y,VecScatter *s) | -> | VecScatterCreate(x,is,y,PETSC_NULL,s) | |||
VecScatter VecScatterCreate(Vec x,IS is1,Vec y,IS is2) | -> | VecScatterCreate(x,is1,y,is2,&s); return s; |
Level:intermediate
Location:src/vec/vec/utils/vscat.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages