PETSc version 3.16.5
Fix/Edit manual page

# VecGetLocalVectorRead

Maps the local portion of a vector into a vector. You must call VecRestoreLocalVectorRead() when the local vector is no longer needed.

### Synopsis

    #include "petscvec.h"
    PetscErrorCode VecGetLocalVectorRead(Vec v,Vec w)

Not collective.

### Input parameter

| v | - The vector for which the local vector is desired.

### Output parameter

| w | - Upon exit this contains the local vector.

### Notes

This function is similar to VecGetArrayRead() which maps the local portion into a raw pointer. VecGetLocalVectorRead() is usually almost as efficient as VecGetArrayRead() but in certain circumstances VecGetLocalVectorRead() can be much more efficient than VecGetArrayRead(). This is because the construction of a contiguous array representing the vector data required by VecGetArrayRead() can be an expensive operation for certain vector types. For example, for GPU vectors VecGetArrayRead() requires that the data between device and host is synchronized.

Unlike VecGetLocalVector(), this routine is not collective and preserves cached information.

### See Also

VecRestoreLocalVectorRead(), VecGetLocalVector(), VecGetArrayRead(), VecGetArray()

### Level

beginner

### Location

src/vec/vec/interface/rvector.c

### Implementations

VecGetLocalVectorRead_SeqCUDA in src/vec/vec/impls/seq/seqcuda/veccuda2.cu
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages