petsc-3.14.6 2021-03-30
Report Typos and Errors

VecGetLocalVector

Maps the local portion of a vector into a vector.

Synopsis

#include "petscvec.h"   
PetscErrorCode VecGetLocalVector(Vec v,Vec w)
Collective on v, not collective on w.

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 VecGetArray() which maps the local portion into a raw pointer. VecGetLocalVector() is usually about as efficient as VecGetArray() but in certain circumstances VecGetLocalVector() can be much more efficient than VecGetArray(). This is because the construction of a contiguous array representing the vector data required by VecGetArray() can be an expensive operation for certain vector types. For example, for GPU vectors VecGetArray() requires that the data between device and host is synchronized.

See Also

VecRestoreLocalVector(), VecGetLocalVectorRead(), VecGetArrayRead(), VecGetArray()

Level

beginner

Location

src/vec/vec/interface/rvector.c

Implementations

VecGetLocalVector_SeqKokkos in src/vec/vec/impls/seq/kokkos/veckok.kokkos.cxx
VecGetLocalVector_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