Home
last modified time | relevance | path

Searched refs:CUDA (Results 1 – 25 of 62) sorted by relevance

123

/petsc/src/vec/vec/impls/seq/cupm/cuda/
H A Dvecseqcupm.cu7 template class impl::VecSeq_CUPM<DeviceType::CUDA>;
9 static constexpr auto VecSeq_CUDA = impl::VecSeq_CUPM<DeviceType::CUDA>{};
64 PetscCall(VecCreateSeqCUPMAsync<DeviceType::CUDA>(comm, n, v)); in VecCreateSeqCUDA()
107 PetscCall(VecCreateSeqCUPMWithArraysAsync<DeviceType::CUDA>(comm, bs, n, cpuarray, gpuarray, v)); in VecCreateSeqCUDAWithArrays()
189 PetscCall(VecCUPMGetArrayAsync<DeviceType::CUDA>(v, a)); in VecCUDAGetArray()
216 PetscCall(VecCUPMRestoreArrayAsync<DeviceType::CUDA>(v, a)); in VecCUDARestoreArray()
251 PetscCall(VecCUPMGetArrayReadAsync<DeviceType::CUDA>(v, a)); in VecCUDAGetArrayRead()
278 PetscCall(VecCUPMRestoreArrayReadAsync<DeviceType::CUDA>(v, a)); in VecCUDARestoreArrayRead()
312 PetscCall(VecCUPMGetArrayWriteAsync<DeviceType::CUDA>(v, a)); in VecCUDAGetArrayWrite()
339 PetscCall(VecCUPMRestoreArrayWriteAsync<DeviceType::CUDA>(v, a)); in VecCUDARestoreArrayWrite()
[all …]
/petsc/src/mat/impls/dense/mpi/cupm/cuda/
H A Dmatmpidensecuda.cu6 static constexpr impl::MatDense_MPI_CUPM<DeviceType::CUDA> mat_cupm{};
74 PetscCall(MatCreateDenseCUPM<DeviceType::CUDA>(comm, m, n, M, N, data, A)); in MatCreateDenseCUDA()
103 PetscCall(MatDenseCUPMPlaceArray<DeviceType::CUDA>(mat, array)); in MatDenseCUDAPlaceArray()
126 PetscCall(MatDenseCUPMResetArray<DeviceType::CUDA>(mat)); in MatDenseCUDAResetArray()
154 PetscCall(MatDenseCUPMReplaceArray<DeviceType::CUDA>(mat, array)); in MatDenseCUDAReplaceArray()
185 PetscCall(MatDenseCUPMGetArrayWrite<DeviceType::CUDA>(A, a)); in MatDenseCUDAGetArrayWrite()
207 PetscCall(MatDenseCUPMRestoreArrayWrite<DeviceType::CUDA>(A, a)); in MatDenseCUDARestoreArrayWrite()
237 PetscCall(MatDenseCUPMGetArrayRead<DeviceType::CUDA>(A, a)); in MatDenseCUDAGetArrayRead()
263 PetscCall(MatDenseCUPMRestoreArrayRead<DeviceType::CUDA>(A, a)); in MatDenseCUDARestoreArrayRead()
293 PetscCall(MatDenseCUPMGetArray<DeviceType::CUDA>(A, a)); in MatDenseCUDAGetArray()
[all …]
/petsc/src/vec/vec/impls/mpi/cupm/cuda/
H A Dvecmpicupm.cu7 template class impl::VecMPI_CUPM<DeviceType::CUDA>;
9 static constexpr auto VecMPI_CUDA = impl::VecMPI_CUPM<DeviceType::CUDA>{};
98 PetscCall(VecCreateMPICUPMAsync<DeviceType::CUDA>(comm, n, N, v)); in VecCreateMPICUDA()
133 PetscCall(VecCreateMPICUPMWithArrays<DeviceType::CUDA>(comm, bs, n, N, cpuarray, gpuarray, v)); in VecCreateMPICUDAWithArrays()
167 PetscCall(VecCreateMPICUPMWithArray<DeviceType::CUDA>(comm, bs, n, N, gpuarray, v)); in VecCreateMPICUDAWithArray()
/petsc/src/mat/impls/dense/seq/cupm/cuda/
H A Dmatseqdensecuda.cu6 static constexpr impl::MatDense_Seq_CUPM<DeviceType::CUDA> cupm_mat{};
30 PetscCall(impl::MatSolverTypeRegister_DENSECUPM<DeviceType::CUDA>()); in MatSolverTypeRegister_DENSECUDA()
44 PetscCall(impl::MatMatMultNumeric_SeqDenseCUPM_SeqDenseCUPM<DeviceType::CUDA>(A, B, C, TA, TB)); in MatMatMultNumeric_SeqDenseCUDA_SeqDenseCUDA_Internal()
77 PetscCall(MatCreateSeqDenseCUPM<DeviceType::CUDA>(comm, m, n, data, A)); in MatCreateSeqDenseCUDA()
/petsc/src/sys/objects/device/impls/cupm/
H A Dcupminterface.cxx32 …efined(HAVE_CUDA, PETSC_CUPM_STATIC_VARIABLE_DEFN, PetscExpandToNothing)(cuoriginal, CUDA, ours); \
37 …d(HAVE_CUDA, PETSC_CUPM_STATIC_VARIABLE_DEFN_CLASS, PetscExpandToNothing)(type_name, CUDA, ours); \
41 …d(HAVE_CUDA, PETSC_CUPM_STATIC_VARIABLE_DEFN_EXACT, PetscExpandToNothing)(type_name, CUDA, ours); \
101 template struct Interface<DeviceType::CUDA>;
H A Dcupmblasinterface.cxx25 …A, PETSC_CUPMBLAS_STATIC_VARIABLE_DEFN, PetscExpandToNothing)(CUORIGINAL, CUDA, OURS) PetscIfPetsc…
49 template struct BlasInterface<DeviceType::CUDA>;
H A Dcupmsolverinterface.cxx19 … PETSC_CUPMSOLVER_STATIC_VARIABLE_DEFN, PetscExpandToNothing)(CUORIGINAL, CUDA, OURS) PetscIfPetsc…
39 template struct SolverInterface<DeviceType::CUDA>;
/petsc/src/ksp/ksp/utils/lmvm/blas_cyclic/cupm/
H A Dblas_cyclic_cupm.cxx16 template struct BLASCyclic<DeviceType::CUDA>;
41 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::axpby(… in AXPBYCyclic_CUPM_Private()
66 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::dmv(dc… in DMVCyclic_CUPM_Private()
91 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::dsv(dc… in DSVCyclic_CUPM_Private()
116 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::trsv(d… in TRSVCyclic_CUPM_Private()
141 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::hemv(d… in HEMVCyclic_CUPM_Private()
166 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::gemv(d… in GEMVCyclic_CUPM_Private()
/petsc/src/vec/is/sf/impls/basic/cupm/cuda/
H A Dsfcupm.cu18 template struct SfInterface<device::cupm::DeviceType::CUDA>;
28 using PetscSFCuda = ::Petsc::sf::cupm::impl::SfInterface<::Petsc::device::cupm::DeviceType::CUDA>;
/petsc/include/petsc/private/
H A Dcupmsolverinterface.hpp53 …BRARY_VISIBILITY_INTERNAL SolverInterfaceImpl<DeviceType::CUDA> : BlasInterface<DeviceType::CUDA> {
87 using cupmBlasInt_t = typename BlasInterface<DeviceType::CUDA>::cupmBlasInt_t;
88 using cupmScalar_t = typename Interface<DeviceType::CUDA>::cupmScalar_t;
271 …constexpr const char *cupmSolverName() noexcept { return T == DeviceType::CUDA ? "cusolverDn" : "h… in cupmSolverName()
279 extern template struct PETSC_SINGLE_LIBRARY_VISIBILITY_INTERNAL SolverInterface<DeviceType::CUDA>;
H A Dcupminterface.hpp22 CUDA, enumerator
109 static_assert(util::to_underlying(DeviceType::CUDA) == 0, ""); in cupmName()
114 …PETSC_NODISCARD static constexpr const char *cupmNAME() noexcept { return T == DeviceType::CUDA ? … in cupmNAME()
116 …pr PetscDeviceType PETSC_DEVICE_CUPM() noexcept { return T == DeviceType::CUDA ? PETSC_DEVICE_CUDA… in PETSC_DEVICE_CUPM()
118 …expr PetscMemType PETSC_MEMTYPE_CUPM() noexcept { return T == DeviceType::CUDA ? PETSC_MEMTYPE_CUD… in PETSC_MEMTYPE_CUPM()
140 struct InterfaceImpl<DeviceType::CUDA> : InterfaceBase<DeviceType::CUDA> {
141 PETSC_CUPM_BASE_CLASS_HEADER(DeviceType::CUDA);
595 if (PETSC_PKG_CUDA_VERSION_GE(11, 0, 0) && (T == DeviceType::CUDA)) PetscCallCUPM(cerr); in PetscCUPMGetMemType()
952 extern template struct PETSC_SINGLE_LIBRARY_VISIBILITY_INTERNAL Interface<DeviceType::CUDA>;
H A Dcupmblasinterface.hpp234 …GLE_LIBRARY_VISIBILITY_INTERNAL BlasInterfaceImpl<DeviceType::CUDA> : Interface<DeviceType::CUDA> {
429 …c constexpr const char *cupmBlasName() noexcept { return T == DeviceType::CUDA ? "cuBLAS" : "hipBL… in cupmBlasName()
497 extern template struct PETSC_SINGLE_LIBRARY_VISIBILITY_INTERNAL BlasInterface<DeviceType::CUDA>;
/petsc/doc/changes/
H A D314.md12 - Add CUDA-11 support, but with CUDA-11,
15 - Add CUDA-11 option -mat_cusparse_spmv_alg {MV_ALG_DEFAULT,
18 - Add CUDA-11 option -mat_cusparse_spmm_alg {ALG_DEFAULT, CSR_ALG1
20 - Add CUDA-11 option -mat_cusparse_csr2csc_alg {ALG1 (default),
29 - Add PetscCUDAInitializeCheck() to do lazy CUDA initialization
32 usage is similar to their CUDA counterpart
56 CUDA backend, and then use -vec_type kokkos -mat_type aijkokkos.
83 - Add a Kokkos backend to SF. Previously, SF could only handle CUDA
H A D312.md114 - PetscSF is now CUDA-aware. The rootdata, leafdata arguments passed
116 CUDA-aware MPI and option -use_gpu_aware_mpi to enable it.
117 - VecScatter is also CUDA-aware. You can do VecScatter on CUDA
119 CUDA-aware MPI and option -use_gpu_aware_mpi.
/petsc/src/ksp/ksp/utils/lmvm/dense/cd_cupm/
H A Dcd_cupm.cxx84 template struct UpperTriangular<DeviceType::CUDA>;
112 …PetscCall(UpperTriangular<DeviceType::CUDA>::SolveInPlace(dctx, hermitian_transpose, n, A, lda, x,… in MatUpperTriangularSolveInPlace_CUPM()
139 …PetscCall(UpperTriangular<DeviceType::CUDA>::SolveInPlaceCyclic(dctx, hermitian_transpose, m, olde… in MatUpperTriangularSolveInPlaceCyclic_CUPM()
/petsc/src/ksp/ksp/tests/raja/output/
H A Dex1_2.out10 RAJA: CUDA Policy - Nested ForallN
/petsc/doc/overview/
H A Dgpu_roadmap.md5 PETSc algebraic solvers run on GPU systems from NVIDIA using CUDA, and AMD and Intel using
33 * - CUDA
H A Dfeatures.md12 - {ref}`Matrix/Vector CUDA support <doc_config_accel_cuda>`
/petsc/src/mat/impls/dense/mpi/cupm/
H A Dmatmpidensecupm.hpp200 …return T == device::cupm::DeviceType::CUDA ? "MatConvert_mpidensecuda_mpidense_C" : "MatConvert_mp… in MatConvert_mpidensecupm_mpidense_C()
206 …return T == device::cupm::DeviceType::CUDA ? "MatProductSetFromOptions_mpiaij_mpidensecuda_C" : "M… in MatProductSetFromOptions_mpiaij_mpidensecupm_C()
212 …return T == device::cupm::DeviceType::CUDA ? "MatProductSetFromOptions_mpidensecuda_mpiaij_C" : "M… in MatProductSetFromOptions_mpidensecupm_mpiaij_C()
218 …return T == device::cupm::DeviceType::CUDA ? "MatProductSetFromOptions_mpiaijcusparse_mpidensecuda… in MatProductSetFromOptions_mpiaijcupmsparse_mpidensecupm_C()
224 …return T == device::cupm::DeviceType::CUDA ? "MatProductSetFromOptions_mpidensecuda_mpiaijcusparse… in MatProductSetFromOptions_mpidensecupm_mpiaijcupmsparse_C()
/petsc/src/sys/objects/device/impls/cupm/cuda/
H A Dcupmcontext.cu11 dctx->data = new PetscDeviceContext_(CUDA); in PetscDeviceContextCreate_CUDA()
/petsc/src/sys/objects/device/tests/output/
H A Dex12_device_enable-eager_cuda_env_set_empty_device_enable_cuda-eager.out6 …lize cuda, as doing so results in cuda error 100 (cudaErrorNoDevice) : no CUDA-capable device is d…
H A Dex12_device_enable-none_cuda_env_set_empty_device_enable_cuda-eager.out6 …lize cuda, as doing so results in cuda error 100 (cudaErrorNoDevice) : no CUDA-capable device is d…
H A Dex12_device_enable-lazy_cuda_env_set_empty_device_enable_cuda-eager.out6 …lize cuda, as doing so results in cuda error 100 (cudaErrorNoDevice) : no CUDA-capable device is d…
H A Dex12_device_enable-lazy_cuda_env_set_empty_device_enable_cuda-lazy.out11 [0]PETSC ERROR: Cannot lazily initialize PetscDevice: cuda error 100 (cudaErrorNoDevice) : no CUDA-…
/petsc/src/sys/objects/device/interface/
H A Ddevice.cxx31 cupm::Device<cupm::DeviceType::CUDA> CUDADevice{PetscDeviceContextCreate_CUDA};
121 PETSC_DEVICE_CASE_IF_PETSC_DEFINED(CUDA, getDevice, *device, devid); in PetscDeviceCreate()
515 …PETSC_DEVICE_CASE_IF_PETSC_DEFINED(CUDA, initialize, comm, &defaultDeviceId, &defaultView, default… in PetscDeviceInitializeTypeFromOptions_Private()

123