Actual source code: vecregall.c
2: #include <petscvec.h>
3: #include <petsc/private/vecimpl.h>
4: PETSC_EXTERN PetscErrorCode VecCreate_Seq(Vec);
5: PETSC_EXTERN PetscErrorCode VecCreate_MPI(Vec);
6: PETSC_EXTERN PetscErrorCode VecCreate_Standard(Vec);
7: PETSC_EXTERN PetscErrorCode VecCreate_Shared(Vec);
8: #if defined(PETSC_HAVE_MPI_PROCESS_SHARED_MEMORY)
9: PETSC_EXTERN PetscErrorCode VecCreate_Node(Vec);
10: #endif
11: #if defined(PETSC_HAVE_VIENNACL)
12: PETSC_EXTERN PetscErrorCode VecCreate_SeqViennaCL(Vec);
13: PETSC_EXTERN PetscErrorCode VecCreate_MPIViennaCL(Vec);
14: PETSC_EXTERN PetscErrorCode VecCreate_ViennaCL(Vec);
15: #endif
16: #if defined(PETSC_HAVE_CUDA)
17: PETSC_EXTERN PetscErrorCode VecCreate_SeqCUDA(Vec);
18: PETSC_EXTERN PetscErrorCode VecCreate_MPICUDA(Vec);
19: PETSC_EXTERN PetscErrorCode VecCreate_CUDA(Vec);
20: #endif
21: #if defined(PETSC_HAVE_KOKKOS_KERNELS)
22: PETSC_EXTERN PetscErrorCode VecCreate_SeqKokkos(Vec);
23: PETSC_EXTERN PetscErrorCode VecCreate_MPIKokkos(Vec);
24: PETSC_EXTERN PetscErrorCode VecCreate_Kokkos(Vec);
25: #endif
26: #if defined(PETSC_HAVE_HIP)
27: PETSC_EXTERN PetscErrorCode VecCreate_SeqHIP(Vec);
28: PETSC_EXTERN PetscErrorCode VecCreate_MPIHIP(Vec);
29: PETSC_EXTERN PetscErrorCode VecCreate_HIP(Vec);
30: #endif
32: /*@C
33: VecRegisterAll - Registers all of the vector components in the Vec package.
35: Not Collective
37: Level: advanced
39: .seealso: `VecRegister()`, `VecRegisterDestroy()`, `VecRegister()`
40: @*/
41: PetscErrorCode VecRegisterAll(void)
42: {
43: if (VecRegisterAllCalled) return 0;
44: VecRegisterAllCalled = PETSC_TRUE;
46: VecRegister(VECSEQ, VecCreate_Seq);
47: VecRegister(VECMPI, VecCreate_MPI);
48: VecRegister(VECSTANDARD, VecCreate_Standard);
49: VecRegister(VECSHARED, VecCreate_Shared);
50: #if defined PETSC_HAVE_VIENNACL
51: VecRegister(VECSEQVIENNACL, VecCreate_SeqViennaCL);
52: VecRegister(VECMPIVIENNACL, VecCreate_MPIViennaCL);
53: VecRegister(VECVIENNACL, VecCreate_ViennaCL);
54: #endif
55: #if defined(PETSC_HAVE_CUDA)
56: VecRegister(VECSEQCUDA, VecCreate_SeqCUDA);
57: VecRegister(VECMPICUDA, VecCreate_MPICUDA);
58: VecRegister(VECCUDA, VecCreate_CUDA);
59: #endif
60: #if defined(PETSC_HAVE_KOKKOS_KERNELS)
61: VecRegister(VECSEQKOKKOS, VecCreate_SeqKokkos);
62: VecRegister(VECMPIKOKKOS, VecCreate_MPIKokkos);
63: VecRegister(VECKOKKOS, VecCreate_Kokkos);
64: #endif
65: #if defined(PETSC_HAVE_HIP)
66: VecRegister(VECSEQHIP, VecCreate_SeqHIP);
67: VecRegister(VECMPIHIP, VecCreate_MPIHIP);
68: VecRegister(VECHIP, VecCreate_HIP);
69: #endif
70: return 0;
71: }