:html_theme.sidebar_secondary.remove: true
# Star Forest Communication (PetscSF)

`PetscSF` provides an interface to "star forest" communication patterns that form much of the distributed memory communication in PETSc.


## Manual Pages by Level

### Beginner - Basic usage
```{hlist}
---
columns: 3
---
- [](PetscSFDuplicate.md)
- [](PetscSFDuplicateOption.md)
- [](PetscSFNode.md)
- [](PetscSFPattern.md)
- [](PetscSFSetUp.md)
- [](PetscSFType.md)
- [](PetscSFView.md)
- [](VecScatter.md)
- [](VecScatterSetFromOptions.md)
- [](VecScatterType.md)
```



### Intermediate - Setting options for algorithms and data structures
```{hlist}
---
columns: 3
---
- [](PetscSF.md)
- [](PetscSFBcastBegin.md)
- [](PetscSFBcastEnd.md)
- [](PetscSFBcastWithMemTypeBegin.md)
- [](PetscSFCreate.md)
- [](PetscSFCreateFromLayouts.md)
- [](PetscSFDestroy.md)
- [](PetscSFGatherBegin.md)
- [](PetscSFGatherEnd.md)
- [](PetscSFGetGraph.md)
- [](PetscSFGetGraphLayout.md)
- [](PetscSFGetType.md)
- [](PetscSFMerge.md)
- [](PetscSFReduceBegin.md)
- [](PetscSFReduceEnd.md)
- [](PetscSFReduceWithMemTypeBegin.md)
- [](PetscSFScatterBegin.md)
- [](PetscSFScatterEnd.md)
- [](PetscSFSetFromOptions.md)
- [](PetscSFSetGraph.md)
- [](PetscSFSetGraphLayout.md)
- [](PetscSFSetGraphWithPattern.md)
- [](PetscSFSetType.md)
- [](PetscSFViewFromOptions.md)
- [](VecScatterBegin.md)
- [](VecScatterCreate.md)
- [](VecScatterCreateToAll.md)
- [](VecScatterCreateToZero.md)
- [](VecScatterDestroy.md)
- [](VecScatterEnd.md)
- [](VecScatterGetType.md)
- [](VecScatterSetType.md)
- [](VecScatterSetUp.md)
- [](VecScatterView.md)
- [](VecScatterViewFromOptions.md)
```



### Advanced - Setting more advanced options and customization
```{hlist}
---
columns: 3
---
- [](PetscSFComputeDegreeBegin.md)
- [](PetscSFConcatenate.md)
- [](PetscSFConcatenateRootMode.md)
- [](PetscSFCreateByMatchingIndices.md)
- [](PetscSFCreateEmbeddedLeafSF.md)
- [](PetscSFCreateEmbeddedRootSF.md)
- [](PetscSFCreateInverseSF.md)
- [](PetscSFCreateSectionSF.md)
- [](PetscSFDistributeSection.md)
- [](PetscSFFetchAndOpBegin.md)
- [](PetscSFFetchAndOpEnd.md)
- [](PetscSFFetchAndOpWithMemTypeBegin.md)
- [](PetscSFRegister.md)
- [](PetscSFRegisterAll.md)
- [](PetscSFReset.md)
- [](PetscSFSetGraphFromCoordinates.md)
- [](PetscSFSetRankOrder.md)
- [](PetscSFWindowFlavorType.md)
- [](PetscSFWindowGetFlavorType.md)
- [](PetscSFWindowGetInfo.md)
- [](PetscSFWindowGetSyncType.md)
- [](PetscSFWindowSetFlavorType.md)
- [](PetscSFWindowSetInfo.md)
- [](PetscSFWindowSetSyncType.md)
- [](PetscSFWindowSyncType.md)
- [](VecScatterCopy.md)
- [](VecScatterRegister.md)
```



### Developer - Interfaces rarely needed by applications programmers
```{hlist}
---
columns: 3
---
- [](PetscSFCompose.md)
- [](PetscSFComposeInverse.md)
- [](PetscSFComputeDegreeEnd.md)
- [](PetscSFComputeMultiRootOriginalNumbering.md)
- [](PetscSFCreateRemoteOffsets.md)
- [](PetscSFFinalizePackage.md)
- [](PetscSFGetGroups.md)
- [](PetscSFGetLeafRange.md)
- [](PetscSFGetLeafRanks.md)
- [](PetscSFGetMultiSF.md)
- [](PetscSFGetRootRanks.md)
- [](PetscSFInitializePackage.md)
- [](PetscSFSetGraphSection.md)
- [](PetscSFSetUpRanks.md)
- [](PetscSFWindowGetDataTypes.md)
- [](VecScatterGetMerged.md)
- [](VecScatterRemap.md)
```



## Single list of manual pages
```{hlist}
---
columns: 3
---
- [](PetscSF.md)
- [](PetscSFBcastBegin.md)
- [](PetscSFBcastEnd.md)
- [](PetscSFBcastWithMemTypeBegin.md)
- [](PetscSFCompose.md)
- [](PetscSFComposeInverse.md)
- [](PetscSFComputeDegreeBegin.md)
- [](PetscSFComputeDegreeEnd.md)
- [](PetscSFComputeMultiRootOriginalNumbering.md)
- [](PetscSFConcatenate.md)
- [](PetscSFConcatenateRootMode.md)
- [](PetscSFCreate.md)
- [](PetscSFCreateByMatchingIndices.md)
- [](PetscSFCreateEmbeddedLeafSF.md)
- [](PetscSFCreateEmbeddedRootSF.md)
- [](PetscSFCreateFromLayouts.md)
- [](PetscSFCreateInverseSF.md)
- [](PetscSFCreateRemoteOffsets.md)
- [](PetscSFCreateSectionSF.md)
- [](PetscSFDestroy.md)
- [](PetscSFDistributeSection.md)
- [](PetscSFDuplicate.md)
- [](PetscSFDuplicateOption.md)
- [](PetscSFFetchAndOpBegin.md)
- [](PetscSFFetchAndOpEnd.md)
- [](PetscSFFetchAndOpWithMemTypeBegin.md)
- [](PetscSFFinalizePackage.md)
- [](PetscSFGatherBegin.md)
- [](PetscSFGatherEnd.md)
- [](PetscSFGetGraph.md)
- [](PetscSFGetGraphLayout.md)
- [](PetscSFGetGroups.md)
- [](PetscSFGetLeafRange.md)
- [](PetscSFGetLeafRanks.md)
- [](PetscSFGetMultiSF.md)
- [](PetscSFGetRootRanks.md)
- [](PetscSFGetType.md)
- [](PetscSFInitializePackage.md)
- [](PetscSFMerge.md)
- [](PetscSFNode.md)
- [](PetscSFPattern.md)
- [](PetscSFReduceBegin.md)
- [](PetscSFReduceEnd.md)
- [](PetscSFReduceWithMemTypeBegin.md)
- [](PetscSFRegister.md)
- [](PetscSFRegisterAll.md)
- [](PetscSFReset.md)
- [](PetscSFScatterBegin.md)
- [](PetscSFScatterEnd.md)
- [](PetscSFSetFromOptions.md)
- [](PetscSFSetGraph.md)
- [](PetscSFSetGraphFromCoordinates.md)
- [](PetscSFSetGraphLayout.md)
- [](PetscSFSetGraphSection.md)
- [](PetscSFSetGraphWithPattern.md)
- [](PetscSFSetRankOrder.md)
- [](PetscSFSetType.md)
- [](PetscSFSetUp.md)
- [](PetscSFSetUpRanks.md)
- [](PetscSFType.md)
- [](PetscSFView.md)
- [](PetscSFViewFromOptions.md)
- [](PetscSFWindowFlavorType.md)
- [](PetscSFWindowGetDataTypes.md)
- [](PetscSFWindowGetFlavorType.md)
- [](PetscSFWindowGetInfo.md)
- [](PetscSFWindowGetSyncType.md)
- [](PetscSFWindowSetFlavorType.md)
- [](PetscSFWindowSetInfo.md)
- [](PetscSFWindowSetSyncType.md)
- [](PetscSFWindowSyncType.md)
- [](VecScatter.md)
- [](VecScatterBegin.md)
- [](VecScatterCopy.md)
- [](VecScatterCreate.md)
- [](VecScatterCreateToAll.md)
- [](VecScatterCreateToZero.md)
- [](VecScatterDestroy.md)
- [](VecScatterEnd.md)
- [](VecScatterGetMerged.md)
- [](VecScatterGetType.md)
- [](VecScatterRegister.md)
- [](VecScatterRemap.md)
- [](VecScatterSetFromOptions.md)
- [](VecScatterSetType.md)
- [](VecScatterSetUp.md)
- [](VecScatterType.md)
- [](VecScatterView.md)
- [](VecScatterViewFromOptions.md)
```


