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_DECIDEN - global vector length (or
PETSC_DECIDEto 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