| /petsc/src/vec/vec/impls/seq/cupm/hip/ |
| H A D | vecseqcupm.hip.cxx | 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() 339 PetscCall(VecCUPMRestoreArrayWriteAsync<DeviceType::HIP>(v, a)); in VecHIPRestoreArrayWrite() [all …]
|
| /petsc/src/mat/impls/dense/mpi/cupm/hip/ |
| H A D | matmpidensehip.hip.cxx | 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() 294 PetscCall(MatDenseCUPMGetArray<DeviceType::HIP>(A, a)); in MatDenseHIPGetArray() [all …]
|
| /petsc/src/vec/vec/impls/mpi/cupm/hip/ |
| H A D | vecmpicupm.hip.cxx | 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/mat/impls/dense/seq/cupm/hip/ |
| H A D | matseqdensehip.hip.cxx | 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/sys/objects/device/impls/cupm/ |
| H A D | cupminterface.cxx | 33 …tscDefined(HAVE_HIP, PETSC_CUPM_STATIC_VARIABLE_DEFN, PetscExpandToNothing)(hiporiginal, HIP, ours) 38 …efined(HAVE_HIP, PETSC_CUPM_STATIC_VARIABLE_DEFN_CLASS, PetscExpandToNothing)(type_name, HIP, ours) 42 …efined(HAVE_HIP, PETSC_CUPM_STATIC_VARIABLE_DEFN_EXACT, PetscExpandToNothing)(type_name, HIP, ours) 105 template struct Interface<DeviceType::HIP>;
|
| H A D | cupmblasinterface.cxx | 25 …efined(HAVE_HIP, PETSC_CUPMBLAS_STATIC_VARIABLE_DEFN, PetscExpandToNothing)(HIPORIGINAL, HIP, OURS) 53 template struct BlasInterface<DeviceType::HIP>;
|
| H A D | cupmsolverinterface.cxx | 19 …ined(HAVE_HIP, PETSC_CUPMSOLVER_STATIC_VARIABLE_DEFN, PetscExpandToNothing)(HIPORIGINAL, HIP, OURS) 43 template struct SolverInterface<DeviceType::HIP>;
|
| H A D | cupmdevice.cxx | 232 case DeviceType::HIP: in CUPM_VISIBLE_DEVICES() 360 template class Device<DeviceType::HIP>;
|
| /petsc/src/ksp/ksp/utils/lmvm/blas_cyclic/cupm/ |
| H A D | blas_cyclic_cupm.cxx | 20 template struct BLASCyclic<DeviceType::HIP>; 46 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::axpby(d… in AXPBYCyclic_CUPM_Private() 71 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::dmv(dct… in DMVCyclic_CUPM_Private() 96 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::dsv(dct… in DSVCyclic_CUPM_Private() 121 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::trsv(dc… in TRSVCyclic_CUPM_Private() 146 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::hemv(dc… in HEMVCyclic_CUPM_Private() 171 …PetscCall(::Petsc::device::cupm::impl::BLASCyclic<::Petsc::device::cupm::DeviceType::HIP>::gemv(dc… in GEMVCyclic_CUPM_Private()
|
| /petsc/src/vec/is/sf/impls/basic/cupm/hip/ |
| H A D | sfcupm.hip.cxx | 21 template struct SfInterface<device::cupm::DeviceType::HIP>; 31 using PetscSFHIP = ::Petsc::sf::cupm::impl::SfInterface<::Petsc::device::cupm::DeviceType::HIP>;
|
| /petsc/src/ksp/ksp/utils/lmvm/dense/cd_cupm/ |
| H A D | cd_cupm.cxx | 88 template struct UpperTriangular<DeviceType::HIP>; 117 …PetscCall(UpperTriangular<DeviceType::HIP>::SolveInPlace(dctx, hermitian_transpose, n, A, lda, x, … in MatUpperTriangularSolveInPlace_CUPM() 144 …PetscCall(UpperTriangular<DeviceType::HIP>::SolveInPlaceCyclic(dctx, hermitian_transpose, m, oldes… in MatUpperTriangularSolveInPlaceCyclic_CUPM()
|
| /petsc/doc/overview/ |
| H A D | gpu_roadmap.md | 6 OpenCL/ViennaCL and HIP. Effective GPU implementations of low-level linear algebra 38 * - HIP
|
| H A D | features.md | 15 - {ref}`Matrix/Vector HIP support <doc_gpu_roadmap>`
|
| /petsc/src/sys/objects/device/impls/cupm/hip/ |
| H A D | cupmcontext.hip.cxx | 11 dctx->data = new PetscDeviceContext_(HIP); in PetscDeviceContextCreate_HIP()
|
| /petsc/include/petsc/private/ |
| H A D | cupmsolverinterface.hpp | 169 …LIBRARY_VISIBILITY_INTERNAL SolverInterfaceImpl<DeviceType::HIP> : BlasInterface<DeviceType::HIP> { 283 extern template struct PETSC_SINGLE_LIBRARY_VISIBILITY_INTERNAL SolverInterface<DeviceType::HIP>;
|
| H A D | cupmblasinterface.hpp | 306 …INGLE_LIBRARY_VISIBILITY_INTERNAL BlasInterfaceImpl<DeviceType::HIP> : Interface<DeviceType::HIP> { 501 extern template struct PETSC_SINGLE_LIBRARY_VISIBILITY_INTERNAL BlasInterface<DeviceType::HIP>;
|
| H A D | cupminterface.hpp | 23 HIP enumerator 110 static_assert(util::to_underlying(DeviceType::HIP) == 1, ""); in cupmName() 286 struct InterfaceImpl<DeviceType::HIP> : InterfaceBase<DeviceType::HIP> { 287 PETSC_CUPM_BASE_CLASS_HEADER(DeviceType::HIP); 956 extern template struct PETSC_SINGLE_LIBRARY_VISIBILITY_INTERNAL Interface<DeviceType::HIP>;
|
| /petsc/src/sys/objects/device/interface/ |
| H A D | device.cxx | 34 cupm::Device<cupm::DeviceType::HIP> HIPDevice{PetscDeviceContextCreate_HIP}; 122 PETSC_DEVICE_CASE_IF_PETSC_DEFINED(HIP, getDevice, *device, devid); in PetscDeviceCreate() 516 …PETSC_DEVICE_CASE_IF_PETSC_DEFINED(HIP, initialize, comm, &defaultDeviceId, &defaultView, defaultI… in PetscDeviceInitializeTypeFromOptions_Private()
|
| /petsc/src/vec/vec/impls/mpi/cupm/ |
| H A D | vecmpicupm.hpp | 96 …_VISIBILITY_INTERNAL ::Petsc::vec::cupm::impl::VecMPI_CUPM<::Petsc::device::cupm::DeviceType::HIP>;
|
| /petsc/doc/changes/ |
| H A D | 317.md | 68 - `PetscDevice` initialization for CUDA and HIP will now respect `CUDA_VISIBILE_DEVICES` and `HIP_V… 116 - For CUDA and ViennaCL and HIP GPU vectors, `VecCreate()` no longer allocates the array on CPU eag… 117 …r (copying the data to the device if needed) for the standard CUDA, HIP, and CUDA/HIP Kokkos vecto…
|
| H A D | 320.md | 114 - Add CUDA/HIP implementations for `VecAbs()`, `VecSqrtAbs()`, `VecExp()`, `VecLog()`, `VecPointwis… 144 - Add CUDA/HIP implementation for `MatGetDiagonal()`
|
| H A D | 318.md | 28 - Add native PETSc/HIP backend for AMD GPUs 98 - Split off CUDA and HIP specific headers from `petscdevice.h` into `petscdevice_cuda.h` and `petsc…
|
| /petsc/src/mat/impls/aij/seq/seqhipsparse/ |
| H A D | hipsparsematimpl.h | 298 using VecSeq_HIP = Petsc::vec::cupm::impl::VecSeq_CUPM<Petsc::device::cupm::DeviceType::HIP>; 306 …PetscCallAbort(PETSC_COMM_SELF, impl::Interface<DeviceType::HIP>::PetscCUPMGetMemType(data, &mtype… in isHipMem()
|
| /petsc/src/vec/vec/impls/seq/cupm/ |
| H A D | vecseqcupm.hpp | 306 …_VISIBILITY_INTERNAL ::Petsc::vec::cupm::impl::VecSeq_CUPM<::Petsc::device::cupm::DeviceType::HIP>;
|
| /petsc/doc/ |
| H A D | index.md | 9 CUDA, HIP, Kokkos, or OpenCL, as well as hybrid MPI-GPU parallelism; they also support the NEC-SX T…
|