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