Skip to main content
`Ctrl`+`K`

# VecGetArrayWriteAndMemType

Like `VecGetArrayWrite()`, but if this is a device vector it will always return a device pointer to the device memory that contains this processor’s portion of the vector data.

## Synopsis

    #include "petscvec.h"
    PetscErrorCode VecGetArrayWriteAndMemType(Vec x, PetscScalar *a[], PetscMemType *mtype)

Logically Collective; No Fortran Support

## Input Parameter

- x - the vector

## Output Parameters

- a - the array

- mtype - memory type of the array

## Note

The array must be returned using a matching call to `VecRestoreArrayWriteAndMemType()`, where it will label the device memory as most recent.

## See Also

Vectors and Parallel Data, `Vec`, `VecRestoreArrayWriteAndMemType()`, `VecGetArrayReadAndMemType()`, `VecGetArrayAndMemType()`, `VecGetArray()`, `VecRestoreArray()`, `VecGetArrayPair()`, `VecRestoreArrayPair()`

## Level

beginner

## Location

src/vec/vec/interface/rvector.c

## Implementations

VecGetArrayWriteAndMemType_SeqKokkos() in src/vec/vec/impls/seq/kokkos/veckok.kokkos.cxx

Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages