VecPipelineSetType

*/ static int ProcYes(int proc,PetscObject pipe_info); static int ProcNo(int proc,PetscObject pipe_info); static int ProcUp(int proc,PetscObject pipe_info); static int ProcDown(int proc,PetscObject pipe_info); static int PipelineSequentialSetup(VecPipeline,PetscObject,PetscObject*); static int ProcColourUp(int proc,PetscObject pipe_info); static int ProcColourDown(int proc,PetscObject pipe_info); static int PipelineRedblackSetup(VecPipeline,PetscObject,PetscObject*); static int PipelineMulticolourSetup(VecPipeline,PetscObject,PetscObject*); static int ProcUserUp(int proc,PetscObject pipe_info); static int ProcUserDown(int proc,PetscObject pipe_info); static int PipelineUserSetup(VecPipeline,PetscObject,PetscObject*); #undef __FUNC__ #define __FUNC__ "VecPipelineSetType" /*@ VecPipelineSetType - Sets the type of a vector pipeline. Vector pipelines are to be used as

Synopsis

int VecPipelineSetType(VecPipeline ctx,PipelineType type,PetscObject x)
VecPipelineBegin(<see below for parameters>) <do useful work with incoming data> VecPipelineEnd(<see below for paramteres>)

Input Parameters

ctx
vector pipeline object + type - vector pipeline type Choices currently allowed are -- PIPELINE_NONE all processors send and receive simultaneously -- PIPELINE_SEQUENTIAL processors send and receive in ascending order of MPI rank -- PIPELINE_RED_BLACK even numbered processors only send; odd numbered processors only receive -- PIPELINE_MULTICOLOUR processors are given a colour and send/receive according to ascending colour + x - auxiliary data; for PIPELINE_MULTICOLOUR this should be <(PetscObject) pmat> where pmat is the matrix on which the colouring is to be based.

See Also

VecPipelineCreate, VecPipelineBegin, VecPipelineEnd.

Location:src/vec/utils/pipeline.c


Vector Index
Table of Contents