xref: /petsc/src/vec/vec/interface/vecregall.c (revision 7c93a85d6d4254fee34d99f3e5bd9e4999a6ce2c)
1 #define PETSCVEC_DLL
2 
3 #include "private/vecimpl.h"     /*I  "vec.h"  I*/
4 EXTERN_C_BEGIN
5 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_Seq(Vec);
6 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_MPI(Vec);
7 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_Standard(Vec);
8 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_Shared(Vec);
9 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_FETI(Vec);
10 #if defined(PETSC_HAVE_CUDA)
11 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_SeqCUDA(Vec);
12 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_MPICUDA(Vec);
13 #endif
14 #if 0
15 #if defined(PETSC_HAVE_SIEVE)
16 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_Sieve(Vec);
17 #endif
18 #endif
19 EXTERN_C_END
20 
21 #undef __FUNCT__
22 #define __FUNCT__ "VecRegisterAll"
23 /*@C
24   VecRegisterAll - Registers all of the vector components in the Vec package.
25 
26   Not Collective
27 
28   Input parameter:
29 . path - The dynamic library path
30 
31   Level: advanced
32 
33 .keywords: Vec, register, all
34 .seealso:  VecRegister(), VecRegisterDestroy(), VecRegisterDynamic()
35 @*/
36 PetscErrorCode PETSCVEC_DLLEXPORT VecRegisterAll(const char path[])
37 {
38   PetscErrorCode ierr;
39 
40   PetscFunctionBegin;
41   VecRegisterAllCalled = PETSC_TRUE;
42 
43   ierr = VecRegisterDynamic(VECSEQ,      path, "VecCreate_Seq",      VecCreate_Seq);CHKERRQ(ierr);
44   ierr = VecRegisterDynamic(VECMPI,      path, "VecCreate_MPI",      VecCreate_MPI);CHKERRQ(ierr);
45   ierr = VecRegisterDynamic(VECSTANDARD, path, "VecCreate_Standard", VecCreate_Standard);CHKERRQ(ierr);
46   ierr = VecRegisterDynamic(VECSHARED,   path, "VecCreate_Shared",   VecCreate_Shared);CHKERRQ(ierr);
47   ierr = VecRegisterDynamic(VECFETI,     path, "VecCreate_FETI",     VecCreate_FETI);CHKERRQ(ierr);
48 #if defined PETSC_HAVE_CUDA
49   ierr = VecRegisterDynamic(VECSEQCUDA,  path, "VecCreate_SeqCUDA",  VecCreate_SeqCUDA);CHKERRQ(ierr);
50   ierr = VecRegisterDynamic(VECMPICUDA,  path, "VecCreate_MPICUDA",  VecCreate_MPICUDA);CHKERRQ(ierr);
51 #endif
52 #if 0
53 #if defined(PETSC_HAVE_SIEVE)
54   ierr = VecRegisterDynamic(VECSIEVE,    path, "VecCreate_Sieve",    VecCreate_Sieve);CHKERRQ(ierr);
55 #endif
56 #endif
57   PetscFunctionReturn(0);
58 }
59 
60