VecCreateMPICUDAWithArrays#
Creates a parallel, array-style vector using CUDA, where the user provides the complete array space to store the vector values.
Synopsis#
#include <petscvec.h>
PetscErrorCode VecCreateMPICUDAWithArrays(MPI_Comm comm, PetscInt bs, PetscInt n, PetscInt N, const PetscScalar cpuarray[], const PetscScalar gpuarray[], Vec *v)
Collective, Possibly Synchronous
Input Parameters#
comm - the MPI communicator to use
bs - block size, same meaning as
VecSetBlockSize()
n - local vector length, cannot be
PETSC_DECIDE
N - global vector length (or
PETSC_DECIDE
to have calculated)cpuarray - CPU memory where the vector elements are to be stored (or
NULL
)gpuarray - GPU memory where the vector elements are to be stored (or
NULL
)
Output Parameter#
v - the vector
Notes#
See VecCreateSeqCUDAWithArrays()
for further discussion, this routine shares identical
semantics.
See Also#
VecCreateMPICUDA()
, VecCreateSeqCUDAWithArrays()
, VecCreateMPIWithArray()
,
VecCreateSeqWithArray()
, VecCreate()
, VecDuplicate()
, VecDuplicateVecs()
, VecCreateGhost()
,
VecCreateMPI()
, VecCreateGhostWithArray()
, VecPlaceArray()
Level#
intermediate
Location#
src/vec/vec/impls/mpi/cupm/cuda/vecmpicupm.cu
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages