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