# VecCreateMPICUDA
Creates a standard, parallel array-style vector for CUDA devices. 
## Synopsis
```
#include "petscvec.h"   
PetscErrorCode VecCreateMPICUDA(MPI_Comm comm, PetscInt n, PetscInt N, Vec *v)
```
Collective


## 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.



.seealso: `VecCreateMPICUDAWithArray()`, `VecCreateMPICUDAWithArrays()`, `VecCreateSeqCUDA()`, `VecCreateSeq()`,
`VecCreateMPI()`, `VecCreate()`, `VecDuplicate()`, `VecDuplicateVecs()`, `VecCreateGhost()`,
`VecCreateMPIWithArray()`, `VecCreateGhostWithArray()`, `VecMPISetGhost()`


## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/vec/impls/mpi/mpicuda/mpicuda.cu.html#VecCreateMPICUDA">src/vec/vec/impls/mpi/mpicuda/mpicuda.cu</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/vec/impls/mpi/mpicuda/mpicuda.cu)


[Index of all Vec routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
