# ISAllGather#

Given an index set IS on each processor, generates a large index set (same on each processor) by concatenating together each processors index set.

## Synopsis#

#include "petscis.h"
PetscErrorCode ISAllGather(IS is, IS *isout)


Collective

## Input Parameter#

• is - the distributed index set

## Output Parameter#

• isout - the concatenated index set (same on all processors)

## Notes#

ISAllGather() is clearly not scalable for large index sets.

The IS created on each processor must be created with a common communicator (e.g., PETSC_COMM_WORLD). If the index sets were created with PETSC_COMM_SELF, this routine will not work as expected, since each process will generate its own new IS that consists only of itself.

The communicator for this new IS is PETSC_COMM_SELF

Low-level Vector Communication, IS, ISCreateGeneral(), ISCreateStride(), ISCreateBlock()