:orphan:
# VecCreateShared
Creates a parallel vector that uses shared memory.
## Synopsis
```
#include "petscvec.h"
PetscErrorCode VecCreateShared(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_DECIDE` to have calculated if `n` is given)
## Output Parameter
- ***vv -*** the vector
## Notes
Currently `VecCreateShared()` is available only on the SGI; otherwise,
this routine is the same as `VecCreateMPI()`.
Use `VecDuplicate()` or `VecDuplicateVecs()` to form additional vectors of the
same type as an existing vector.
## See Also
[](ch_vectors), `Vec`, `VecType`, `VecCreateSeq()`, `VecCreate()`, `VecCreateMPI()`, `VecDuplicate()`, `VecDuplicateVecs()`,
`VecCreateGhost()`, `VecCreateMPIWithArray()`, `VecCreateGhostWithArray()`
## Level
advanced
## Location
src/vec/vec/impls/shared/shvec.c
## Examples
src/vec/vec/tutorials/ex1.c
src/vec/vec/tutorials/ex11.c
src/vec/vec/tutorials/ex11f.F90
src/vec/vec/tutorials/ex11f90.F90
src/vec/vec/tutorials/ex13.c
src/vec/vec/tutorials/ex1f.F90
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/vec/impls/shared/shvec.c)
[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)