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