xref: /petsc/src/vec/is/sf/impls/basic/allgatherv/sfallgatherv.h (revision eb02082b21b627ae704d1b64176a7a4b8db6ed4b)
1dd5b3ca6SJunchao Zhang #if !defined(_SFALLGATHERV_H)
2dd5b3ca6SJunchao Zhang #define _SFALLGATHERV_H
3dd5b3ca6SJunchao Zhang 
4dd5b3ca6SJunchao Zhang #include <petsc/private/sfimpl.h> /*I "petscsf.h" I*/
5dd5b3ca6SJunchao Zhang #include <../src/vec/is/sf/impls/basic/sfpack.h>
6dd5b3ca6SJunchao Zhang #include <../src/vec/is/sf/impls/basic/sfbasic.h>
7dd5b3ca6SJunchao Zhang 
8dd5b3ca6SJunchao Zhang typedef struct {
9dd5b3ca6SJunchao Zhang   SFBASICHEADER;
10dd5b3ca6SJunchao Zhang   PetscMPIInt   *displs,*recvcounts;
11dd5b3ca6SJunchao Zhang } PetscSF_Allgatherv;
12dd5b3ca6SJunchao Zhang 
13dd5b3ca6SJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFSetUp_Allgatherv(PetscSF);
14*eb02082bSJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFPackGet_Allgatherv(PetscSF,MPI_Datatype,PetscMemType,const void*,PetscMemType,const void*,PetscSFPack*);
15dd5b3ca6SJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFReset_Allgatherv(PetscSF);
16dd5b3ca6SJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFDestroy_Allgatherv(PetscSF);
17*eb02082bSJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFBcastAndOpEnd_Allgatherv(PetscSF,MPI_Datatype,PetscMemType,const void*,PetscMemType,void*,MPI_Op);
18*eb02082bSJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFReduceEnd_Allgatherv(PetscSF,MPI_Datatype,PetscMemType,const void*,PetscMemType,void*,MPI_Op);
19*eb02082bSJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFFetchAndOpBegin_Allgatherv(PetscSF sf,MPI_Datatype,PetscMemType,void*,PetscMemType,const void*,void*,MPI_Op);
20*eb02082bSJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFFetchAndOpEnd_Allgatherv(PetscSF,MPI_Datatype,PetscMemType,void*,PetscMemType,const void*,void*,MPI_Op);
21dd5b3ca6SJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFGetRootRanks_Allgatherv(PetscSF,PetscInt*,const PetscMPIInt**,const PetscInt**,const PetscInt**,const PetscInt**);
22dd5b3ca6SJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFGetLeafRanks_Allgatherv(PetscSF,PetscInt*,const PetscMPIInt**,const PetscInt**,const PetscInt**);
23dd5b3ca6SJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFCreateLocalSF_Allgatherv(PetscSF,PetscSF*);
24dd5b3ca6SJunchao Zhang PETSC_INTERN PetscErrorCode PetscSFGetGraph_Allgatherv(PetscSF,PetscInt*,PetscInt*,const PetscInt**,const PetscSFNode**);
25dd5b3ca6SJunchao Zhang #endif
26