:orphan: # VecCreateMPICUDA Creates a standard, parallel, array-style vector for CUDA devices. ## Synopsis ``` #include PetscErrorCode VecCreateMPICUDA(MPI_Comm comm, PetscInt n, PetscInt N, Vec *v) ``` Collective, Possibly Synchronous ## Input Parameters - ***comm -*** the MPI communicator to use - ***n -*** local vector length (or `PETSC_DECIDE` to have calculated if `N` is given) - ***N -*** global vector length (or `PETSC_DETERMINE` to have calculated if `n` is given) ## Output Parameter - ***v -*** the vector ## Notes Use `VecDuplicate()` or `VecDuplicateVecs()` to form additional vectors of the same type as an existing vector. This function may initialize `PetscDevice`, which may incur a device synchronization. ## See Also `VecCreateMPICUDAWithArray()`, `VecCreateMPICUDAWithArrays()`, `VecCreateSeqCUDA(), `VecCreateSeq()`, `VecCreateMPI()`, `VecCreate()`, `VecDuplicate()`, `VecDuplicateVecs()`, `VecCreateGhost()`, `VecCreateMPIWithArray()`, `VecCreateGhostWithArray()`, `VecMPISetGhost()` ## Level intermediate ## Location src/vec/vec/impls/mpi/cupm/cuda/vecmpicupm.cu --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/vec/impls/mpi/cupm/cuda/vecmpicupm.cu) [Index of all Vec routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)