1aa713d4dSSatish Balay 2f7ecc322SBarry Smith #include <petscvec.h> 3af0996ceSBarry Smith #include <petsc/private/vecimpl.h> 48cc058d9SJed Brown PETSC_EXTERN PetscErrorCode VecCreate_Seq(Vec); 58cc058d9SJed Brown PETSC_EXTERN PetscErrorCode VecCreate_MPI(Vec); 68cc058d9SJed Brown PETSC_EXTERN PetscErrorCode VecCreate_Standard(Vec); 78cc058d9SJed Brown PETSC_EXTERN PetscErrorCode VecCreate_Shared(Vec); 8b674149eSJunchao Zhang #if defined(PETSC_HAVE_MPI_PROCESS_SHARED_MEMORY) 9803a1b88SHong Zhang PETSC_EXTERN PetscErrorCode VecCreate_Node(Vec); 1074c49cccSHong Zhang #endif 11e9e886b6SKarl Rupp #if defined(PETSC_HAVE_VIENNACL) 1245b7af86SKarl Rupp PETSC_EXTERN PetscErrorCode VecCreate_SeqViennaCL(Vec); 1345b7af86SKarl Rupp PETSC_EXTERN PetscErrorCode VecCreate_MPIViennaCL(Vec); 1445b7af86SKarl Rupp PETSC_EXTERN PetscErrorCode VecCreate_ViennaCL(Vec); 15b8ced49eSKarl Rupp #endif 16fd314934SBarry Smith #if defined(PETSC_HAVE_CUDA) 1782f73ecaSAlejandro Lamas Daviña PETSC_EXTERN PetscErrorCode VecCreate_SeqCUDA(Vec); 1882f73ecaSAlejandro Lamas Daviña PETSC_EXTERN PetscErrorCode VecCreate_MPICUDA(Vec); 1982f73ecaSAlejandro Lamas Daviña PETSC_EXTERN PetscErrorCode VecCreate_CUDA(Vec); 2045b7af86SKarl Rupp #endif 2110171e34SJunchao Zhang #if defined(PETSC_HAVE_KOKKOS_KERNELS) 2210171e34SJunchao Zhang PETSC_EXTERN PetscErrorCode VecCreate_SeqKokkos(Vec); 2310171e34SJunchao Zhang PETSC_EXTERN PetscErrorCode VecCreate_MPIKokkos(Vec); 2410171e34SJunchao Zhang PETSC_EXTERN PetscErrorCode VecCreate_Kokkos(Vec); 2510171e34SJunchao Zhang #endif 2659af0bd3SScott Kruger #if defined(PETSC_HAVE_HIP) 2759af0bd3SScott Kruger PETSC_EXTERN PetscErrorCode VecCreate_SeqHIP(Vec); 2859af0bd3SScott Kruger PETSC_EXTERN PetscErrorCode VecCreate_MPIHIP(Vec); 2959af0bd3SScott Kruger PETSC_EXTERN PetscErrorCode VecCreate_HIP(Vec); 3059af0bd3SScott Kruger #endif 31aa713d4dSSatish Balay 32aa713d4dSSatish Balay /*@C 33aa713d4dSSatish Balay VecRegisterAll - Registers all of the vector components in the Vec package. 34aa713d4dSSatish Balay 35aa713d4dSSatish Balay Not Collective 36aa713d4dSSatish Balay 37aa713d4dSSatish Balay Level: advanced 38aa713d4dSSatish Balay 391c84c290SBarry Smith .seealso: VecRegister(), VecRegisterDestroy(), VecRegister() 40aa713d4dSSatish Balay @*/ 41607a6623SBarry Smith PetscErrorCode VecRegisterAll(void) 42aa713d4dSSatish Balay { 43aa713d4dSSatish Balay PetscFunctionBegin; 440f51fdf8SToby Isaac if (VecRegisterAllCalled) PetscFunctionReturn(0); 45aa713d4dSSatish Balay VecRegisterAllCalled = PETSC_TRUE; 46aa713d4dSSatish Balay 47*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECSEQ, VecCreate_Seq)); 48*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECMPI, VecCreate_MPI)); 49*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECSTANDARD, VecCreate_Standard)); 50*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECSHARED, VecCreate_Shared)); 51e9e886b6SKarl Rupp #if defined PETSC_HAVE_VIENNACL 52*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECSEQVIENNACL, VecCreate_SeqViennaCL)); 53*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECMPIVIENNACL, VecCreate_MPIViennaCL)); 54*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECVIENNACL, VecCreate_ViennaCL)); 55b8ced49eSKarl Rupp #endif 56fd314934SBarry Smith #if defined(PETSC_HAVE_CUDA) 57*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECSEQCUDA, VecCreate_SeqCUDA)); 58*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECMPICUDA, VecCreate_MPICUDA)); 59*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECCUDA, VecCreate_CUDA)); 6045b7af86SKarl Rupp #endif 6110171e34SJunchao Zhang #if defined(PETSC_HAVE_KOKKOS_KERNELS) 62*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECSEQKOKKOS, VecCreate_SeqKokkos)); 63*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECMPIKOKKOS, VecCreate_MPIKokkos)); 64*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECKOKKOS, VecCreate_Kokkos)); 6510171e34SJunchao Zhang #endif 6659af0bd3SScott Kruger #if defined(PETSC_HAVE_HIP) 67*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECSEQHIP, VecCreate_SeqHIP)); 68*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECMPIHIP, VecCreate_MPIHIP)); 69*9566063dSJacob Faibussowitsch PetscCall(VecRegister(VECHIP, VecCreate_HIP)); 7059af0bd3SScott Kruger #endif 71aa713d4dSSatish Balay PetscFunctionReturn(0); 72aa713d4dSSatish Balay } 73