| /petsc/src/vec/vec/impls/seq/cupm/hip/ |
| H A D | vecseqcupm.hip.cxx | 5 using ::Petsc::device::cupm::DeviceType; 7 template class impl::VecSeq_CUPM<DeviceType::HIP>; 9 static constexpr auto VecSeq_HIP = impl::VecSeq_CUPM<DeviceType::HIP>{}; 64 PetscCall(VecCreateSeqCUPMAsync<DeviceType::HIP>(comm, n, v)); in VecCreateSeqHIP() 107 PetscCall(VecCreateSeqCUPMWithArraysAsync<DeviceType::HIP>(comm, bs, n, cpuarray, gpuarray, v)); in VecCreateSeqHIPWithArrays() 189 PetscCall(VecCUPMGetArrayAsync<DeviceType::HIP>(v, a)); in VecHIPGetArray() 216 PetscCall(VecCUPMRestoreArrayAsync<DeviceType::HIP>(v, a)); in VecHIPRestoreArray() 251 PetscCall(VecCUPMGetArrayReadAsync<DeviceType::HIP>(v, a)); in VecHIPGetArrayRead() 278 PetscCall(VecCUPMRestoreArrayReadAsync<DeviceType::HIP>(v, a)); in VecHIPRestoreArrayRead() 312 PetscCall(VecCUPMGetArrayWriteAsync<DeviceType::HIP>(v, a)); in VecHIPGetArrayWrite() [all …]
|
| /petsc/src/vec/vec/impls/seq/cupm/cuda/ |
| H A D | vecseqcupm.cu | 5 using ::Petsc::device::cupm::DeviceType; 7 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() [all …]
|
| /petsc/src/mat/impls/dense/mpi/cupm/cuda/ |
| H A D | matmpidensecuda.cu | 4 using Petsc::device::cupm::DeviceType; 6 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() [all …]
|
| /petsc/src/mat/impls/dense/mpi/cupm/hip/ |
| H A D | matmpidensehip.hip.cxx | 4 using Petsc::device::cupm::DeviceType; 6 static constexpr impl::MatDense_MPI_CUPM<DeviceType::HIP> mat_cupm{}; 75 PetscCall(MatCreateDenseCUPM<DeviceType::HIP>(comm, m, n, M, N, data, A)); in MatCreateDenseHIP() 104 PetscCall(MatDenseCUPMPlaceArray<DeviceType::HIP>(mat, array)); in MatDenseHIPPlaceArray() 127 PetscCall(MatDenseCUPMResetArray<DeviceType::HIP>(mat)); in MatDenseHIPResetArray() 155 PetscCall(MatDenseCUPMReplaceArray<DeviceType::HIP>(mat, array)); in MatDenseHIPReplaceArray() 186 PetscCall(MatDenseCUPMGetArrayWrite<DeviceType::HIP>(A, a)); in MatDenseHIPGetArrayWrite() 208 PetscCall(MatDenseCUPMRestoreArrayWrite<DeviceType::HIP>(A, a)); in MatDenseHIPRestoreArrayWrite() 238 PetscCall(MatDenseCUPMGetArrayRead<DeviceType::HIP>(A, a)); in MatDenseHIPGetArrayRead() 264 PetscCall(MatDenseCUPMRestoreArrayRead<DeviceType::HIP>(A, a)); in MatDenseHIPRestoreArrayRead() [all …]
|
| /petsc/include/petsc/private/ |
| H A D | cupmobject.hpp | 41 template <DeviceType T> 72 template <DeviceType T> 97 template <DeviceType T> 109 template <DeviceType T> 117 template <DeviceType T, PetscMemType MemoryType, PetscMemoryAccessMode AccessMode> 149 template <DeviceType T, PetscMemType MT, PetscMemoryAccessMode MA> 152 template <DeviceType T, PetscMemType MT, PetscMemoryAccessMode MA> 159 template <DeviceType T, PetscMemType MT, PetscMemoryAccessMode MA> 164 template <DeviceType T, PetscMemType MT, PetscMemoryAccessMode MA> 170 template <DeviceType T, PetscMemType MT, PetscMemoryAccessMode MA> [all …]
|
| H A D | matdensecupmimpl.h | 34 template <device::cupm::DeviceType> 36 template <device::cupm::DeviceType> 61 template <device::cupm::DeviceType T> 69 …return T == device::cupm::DeviceType::CUDA ? PetscStringize(PetscConcat(MatDenseCUDA, OP_NAME)) : … 97 template <device::cupm::DeviceType T> 100 return T == device::cupm::DeviceType::CUDA ? MATSEQDENSECUDA : MATSEQDENSEHIP; in MATSEQDENSECUPM() 103 template <device::cupm::DeviceType T> 106 return T == device::cupm::DeviceType::CUDA ? MATMPIDENSECUDA : MATMPIDENSEHIP; in MATMPIDENSECUPM() 109 template <device::cupm::DeviceType T> 112 return T == device::cupm::DeviceType::CUDA ? MATDENSECUDA : MATDENSEHIP; in MATDENSECUPM() [all …]
|
| H A D | veccupmimpl.h | 70 template <device::cupm::DeviceType> 72 template <device::cupm::DeviceType> 82 template <device::cupm::DeviceType T, typename Derived> 256 template <device::cupm::DeviceType T, typename D> 273 template <device::cupm::DeviceType T, typename D> 282 template <device::cupm::DeviceType T, typename D> 295 template <device::cupm::DeviceType T, typename D> 334 template <device::cupm::DeviceType T, typename D> 351 template <device::cupm::DeviceType T, typename D> 362 template <device::cupm::DeviceType T, typename D> [all …]
|
| /petsc/src/sys/objects/device/impls/cupm/ |
| H A D | cupmevent.hpp | 21 template <DeviceType T, unsigned long flags> 35 template <DeviceType T, unsigned long flags> 46 template <DeviceType T, unsigned long flags> 61 template <DeviceType T, unsigned long flags> 76 template <DeviceType T, unsigned long flags> 84 template <DeviceType T> 91 template <DeviceType T> 100 template <DeviceType T> 126 template <DeviceType T> 134 template <DeviceType T> [all …]
|
| H A D | cupmallocator.hpp | 26 template <DeviceType T, typename PetscType = char> 30 template <DeviceType T, typename PetscType> 47 template <DeviceType T, typename P> 56 template <DeviceType T, typename P> 65 template <DeviceType T, typename P> 78 template <DeviceType T, typename PetscType = char> 81 template <DeviceType T, typename PetscType> 102 template <DeviceType T, typename P> 111 template <DeviceType T, typename P> 120 template <DeviceType T, typename P> [all …]
|
| H A D | cupmstream.hpp | 23 template <DeviceType T> 55 template <DeviceType T> 67 template <DeviceType T> 85 template <DeviceType T> 106 template <DeviceType T> 114 template <DeviceType T> 120 template <DeviceType T> 126 template <DeviceType T> 134 template <DeviceType T>
|
| H A D | cupmdevice.cxx | 21 template <DeviceType T> 50 template <DeviceType T> 92 template <DeviceType T> 108 template <DeviceType T> 153 template <DeviceType T> 167 template <DeviceType T> 188 template <DeviceType T> 212 template <DeviceType T> 226 template <DeviceType T> 230 case DeviceType::CUDA: in CUPM_VISIBLE_DEVICES() [all …]
|
| H A D | cupmcontext.hpp | 26 template <DeviceType T> 85 …PETSC_NODISCARD static PetscLogEvent CUPMBLAS_HANDLE_CREATE() noexcept { return T == DeviceType::C… in CUPMBLAS_HANDLE_CREATE() 87 …PETSC_NODISCARD static PetscLogEvent CUPMSOLVER_HANDLE_CREATE() noexcept { return T == DeviceType:… in CUPMSOLVER_HANDLE_CREATE() 261 template <DeviceType T> 279 template <DeviceType T> 294 template <DeviceType T> 307 template <DeviceType T> 323 template <DeviceType T> 345 template <DeviceType T> 358 template <DeviceType T> [all …]
|
| H A D | cupminterface.cxx | 20 …_VARIABLE_DEFN(theirs, DEVICE, ours) const decltype(theirs) InterfaceImpl<DeviceType::DEVICE>::ours 22 …name, DEVICE, ours) const typename InterfaceImpl<DeviceType::DEVICE>::type_name InterfaceImpl<Devi… 24 …ARIABLE_DEFN_EXACT(type_name, DEVICE, ours) const type_name InterfaceImpl<DeviceType::DEVICE>::ours 101 template struct Interface<DeviceType::CUDA>; 105 template struct Interface<DeviceType::HIP>;
|
| H A D | cupmdevice.hpp | 24 template <DeviceType T> 58 template <DeviceType T> 61 template <DeviceType T> 64 template <DeviceType T>
|
| /petsc/src/mat/impls/dense/mpi/cupm/ |
| H A D | matmpidensecupm.hpp | 21 template <device::cupm::DeviceType T> 85 template <device::cupm::DeviceType T> 102 template <device::cupm::DeviceType T> 108 template <device::cupm::DeviceType T> 116 template <device::cupm::DeviceType T> 129 template <device::cupm::DeviceType T> 197 template <device::cupm::DeviceType T> 200 …return T == device::cupm::DeviceType::CUDA ? "MatConvert_mpidensecuda_mpidense_C" : "MatConvert_mp… in MatConvert_mpidensecupm_mpidense_C() 203 template <device::cupm::DeviceType T> 206 …return T == device::cupm::DeviceType::CUDA ? "MatProductSetFromOptions_mpiaij_mpidensecuda_C" : "M… in MatProductSetFromOptions_mpiaij_mpidensecupm_C() [all …]
|
| /petsc/src/vec/vec/impls/mpi/cupm/ |
| H A D | vecmpicupm_impl.hpp | 21 template <device::cupm::DeviceType T> 27 template <device::cupm::DeviceType T> 33 template <device::cupm::DeviceType T> 39 template <device::cupm::DeviceType T> 48 template <device::cupm::DeviceType T> 54 template <device::cupm::DeviceType T> 60 template <device::cupm::DeviceType T> 73 template <device::cupm::DeviceType T> 92 template <device::cupm::DeviceType T> 101 template <device::cupm::DeviceType T> [all …]
|
| H A D | vecmpicupm.hpp | 19 template <device::cupm::DeviceType T> 58 template <device::cupm::DeviceType T> 67 template <device::cupm::DeviceType T> 77 template <device::cupm::DeviceType T> 92 …VISIBILITY_INTERNAL ::Petsc::vec::cupm::impl::VecMPI_CUPM<::Petsc::device::cupm::DeviceType::CUDA>; 96 …_VISIBILITY_INTERNAL ::Petsc::vec::cupm::impl::VecMPI_CUPM<::Petsc::device::cupm::DeviceType::HIP>;
|
| /petsc/src/ksp/ksp/utils/lmvm/blas_cyclic/cupm/ |
| H A D | blas_cyclic_cupm.cxx | 16 template struct BLASCyclic<DeviceType::CUDA>; 20 template struct BLASCyclic<DeviceType::HIP>; 41 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::axpby(… in AXPBYCyclic_CUPM_Private() 46 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::axpby(d… in AXPBYCyclic_CUPM_Private() 66 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::dmv(dc… in DMVCyclic_CUPM_Private() 71 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::dmv(dct… in DMVCyclic_CUPM_Private() 91 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::dsv(dc… in DSVCyclic_CUPM_Private() 96 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::dsv(dct… in DSVCyclic_CUPM_Private() 116 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::CUDA>::trsv(d… in TRSVCyclic_CUPM_Private() 121 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::trsv(dc… in TRSVCyclic_CUPM_Private() [all …]
|
| /petsc/src/vec/vec/impls/mpi/cupm/hip/ |
| H A D | vecmpicupm.hip.cxx | 5 using Petsc::device::cupm::DeviceType; 7 template class impl::VecMPI_CUPM<DeviceType::HIP>; 9 static constexpr auto VecMPI_HIP = impl::VecMPI_CUPM<DeviceType::HIP>{}; 98 PetscCall(VecCreateMPICUPMAsync<DeviceType::HIP>(comm, n, N, v)); in VecCreateMPIHIP() 133 PetscCall(VecCreateMPICUPMWithArrays<DeviceType::HIP>(comm, bs, n, N, cpuarray, gpuarray, v)); in VecCreateMPIHIPWithArrays() 167 PetscCall(VecCreateMPICUPMWithArray<DeviceType::HIP>(comm, bs, n, N, gpuarray, v)); in VecCreateMPIHIPWithArray()
|
| /petsc/src/vec/vec/impls/mpi/cupm/cuda/ |
| H A D | vecmpicupm.cu | 5 using Petsc::device::cupm::DeviceType; 7 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/ksp/ksp/utils/lmvm/dense/cd_cupm/ |
| H A D | cd_cupm.cxx | 17 template <DeviceType T> 25 template <DeviceType T> 45 template <DeviceType T> 84 template struct UpperTriangular<DeviceType::CUDA>; 88 template struct UpperTriangular<DeviceType::HIP>; 102 using ::Petsc::device::cupm::DeviceType; in MatUpperTriangularSolveInPlace_CUPM() 112 …PetscCall(UpperTriangular<DeviceType::CUDA>::SolveInPlace(dctx, hermitian_transpose, n, A, lda, x,… in MatUpperTriangularSolveInPlace_CUPM() 117 …PetscCall(UpperTriangular<DeviceType::HIP>::SolveInPlace(dctx, hermitian_transpose, n, A, lda, x, … in MatUpperTriangularSolveInPlace_CUPM() 129 using ::Petsc::device::cupm::DeviceType; in MatUpperTriangularSolveInPlaceCyclic_CUPM() 139 …PetscCall(UpperTriangular<DeviceType::CUDA>::SolveInPlaceCyclic(dctx, hermitian_transpose, m, olde… in MatUpperTriangularSolveInPlaceCyclic_CUPM() [all …]
|
| /petsc/src/mat/impls/dense/seq/cupm/hip/ |
| H A D | matseqdensehip.hip.cxx | 4 using Petsc::device::cupm::DeviceType; 6 static constexpr impl::MatDense_Seq_CUPM<DeviceType::HIP> cupm_mat{}; 30 PetscCall(impl::MatSolverTypeRegister_DENSECUPM<DeviceType::HIP>()); in MatSolverTypeRegister_DENSEHIP() 44 PetscCall(impl::MatMatMultNumeric_SeqDenseCUPM_SeqDenseCUPM<DeviceType::HIP>(A, B, C, TA, TB)); in MatMatMultNumeric_SeqDenseHIP_SeqDenseHIP_Internal() 77 PetscCall(MatCreateSeqDenseCUPM<DeviceType::HIP>(comm, m, n, data, A)); in MatCreateSeqDenseHIP()
|
| /petsc/src/mat/impls/dense/seq/cupm/cuda/ |
| H A D | matseqdensecuda.cu | 4 using Petsc::device::cupm::DeviceType; 6 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/vec/vec/impls/seq/cupm/ |
| H A D | vecseqcupm_impl.hpp | 39 template <device::cupm::DeviceType T> 45 template <device::cupm::DeviceType T> 51 template <device::cupm::DeviceType T> 57 template <device::cupm::DeviceType T> 86 template <device::cupm::DeviceType T> 115 template <device::cupm::DeviceType T> 124 template <device::cupm::DeviceType T> 130 template <device::cupm::DeviceType T> 136 template <device::cupm::DeviceType T> 166 template <device::cupm::DeviceType T> [all …]
|
| H A D | vecseqcupm.hpp | 25 template <device::cupm::DeviceType T> 180 template <device::cupm::DeviceType T> 189 template <device::cupm::DeviceType T> 199 template <PetscMemoryAccessMode mode, device::cupm::DeviceType T> 210 template <PetscMemoryAccessMode mode, device::cupm::DeviceType T> 220 template <device::cupm::DeviceType T> 228 template <device::cupm::DeviceType T> 236 template <device::cupm::DeviceType T> 244 template <device::cupm::DeviceType T> 252 template <device::cupm::DeviceType T> [all …]
|