| /petsc/src/mat/impls/dense/seq/cupm/ |
| H A D | matseqdensecupm.hpp | 204 const auto mcu = MatCUPMCast(m); in SetPreallocation_() 205 const auto nrows = m->rmap->n; in SetPreallocation_() 206 const auto ncols = m->cmap->n; in SetPreallocation_() 207 auto &lda = MatIMPLCast(m)->lda; in SetPreallocation_() 236 const auto nrows = m->rmap->n; in HostToDevice_() 237 const auto ncols = m->cmap->n; in HostToDevice_() 238 …const auto copy = m->offloadmask == PETSC_OFFLOAD_CPU || m->offloadmask == PETSC_OFFLOAD_UNALLOCA… in HostToDevice_() 245 const auto mcu = MatCUPMCast(m); in HostToDevice_() 253 const auto mimpl = MatIMPLCast(m); in HostToDevice_() 254 const auto lda = mimpl->lda; in HostToDevice_() [all …]
|
| /petsc/src/sys/tests/ |
| H A D | ex64.cxx | 189 …for (auto &&entry : map) PetscCallCXX(oss << " key: [" << this->key_printer(entry.first) << "] … in view_map() 205 const auto msize = map.size(); in check_size_capacity_coherent() 206 const auto mcap = map.capacity(); in check_size_capacity_coherent() 228 auto key = key_type{}; in test_insert() 229 auto value = mapped_type{}; in test_insert() 230 auto size_before = map.size(); in test_insert() 231 auto capacity_before = map.capacity(); in test_insert() 233 const auto check_all_reinsert = [&](value_type &key_value) { in test_insert() 235 auto &key = key_value.first; in test_insert() 236 auto &value = key_value.second; in test_insert() [all …]
|
| /petsc/include/petsc/private/ |
| H A D | cupminterface.hpp | 66 // static constexpr auto cupmMalloc(T&&... args) *noexcept and trailing return type deduction* 73 // static constexpr auto cupmMalloc(T&&... args) *noexcept and trailing return type deduction* 93 // static constexpr auto cupmMallocAsync(T&&... args, Tend argend) *noexcept and trailing 164 static const auto cupmSuccess = cudaSuccess; 165 static const auto cupmErrorNotReady = cudaErrorNotReady; 166 static const auto cupmErrorDeviceAlreadyInUse = cudaErrorDeviceAlreadyInUse; 167 static const auto cupmErrorSetOnActiveProcess = cudaErrorSetOnActiveProcess; 168 static const auto cupmErrorStubLibrary = 175 static const auto cupmErrorNoDevice = cudaErrorNoDevice; 176 static const auto cupmStreamDefault = cudaStreamDefault; [all …]
|
| H A D | cupmsolverinterface.hpp | 61 static const auto CUPMSOLVER_STATUS_SUCCESS = CUSOLVER_STATUS_SUCCESS; 62 static const auto CUPMSOLVER_STATUS_NOT_INITIALIZED = CUSOLVER_STATUS_NOT_INITIALIZED; 63 static const auto CUPMSOLVER_STATUS_ALLOC_FAILED = CUSOLVER_STATUS_ALLOC_FAILED; 64 static const auto CUPMSOLVER_STATUS_INTERNAL_ERROR = CUSOLVER_STATUS_INTERNAL_ERROR; 70 static const auto CUPMSOLVER_OP_T = CUBLAS_OP_T; 71 static const auto CUPMSOLVER_OP_N = CUBLAS_OP_N; 72 static const auto CUPMSOLVER_OP_C = CUBLAS_OP_C; 73 static const auto CUPMSOLVER_FILL_MODE_LOWER = CUBLAS_FILL_MODE_LOWER; 74 static const auto CUPMSOLVER_FILL_MODE_UPPER = CUBLAS_FILL_MODE_UPPER; 75 static const auto CUPMSOLVER_SIDE_LEFT = CUBLAS_SIDE_LEFT; [all …]
|
| H A D | cupmblasinterface.hpp | 162 // static constexpr auto cupmBlasXdot(T&&... args) *noexcept and returntype detection* 194 // static constexpr auto cupmBlasCreate(T&&... args) *noexcept and returntype detection* 242 static const auto CUPMBLAS_STATUS_SUCCESS = CUBLAS_STATUS_SUCCESS; 243 static const auto CUPMBLAS_STATUS_NOT_INITIALIZED = CUBLAS_STATUS_NOT_INITIALIZED; 244 static const auto CUPMBLAS_STATUS_ALLOC_FAILED = CUBLAS_STATUS_ALLOC_FAILED; 245 static const auto CUPMBLAS_POINTER_MODE_HOST = CUBLAS_POINTER_MODE_HOST; 246 static const auto CUPMBLAS_POINTER_MODE_DEVICE = CUBLAS_POINTER_MODE_DEVICE; 247 static const auto CUPMBLAS_OP_T = CUBLAS_OP_T; 248 static const auto CUPMBLAS_OP_N = CUBLAS_OP_N; 249 static const auto CUPMBLAS_OP_C = CUBLAS_OP_C; [all …]
|
| H A D | veccupmimpl.h | 99 const auto pobj = PetscObjectCast(v); 100 const auto vimpl = VecIMPLCast(v); 101 const auto vcu = VecCUPMCast(v); 170 PETSC_NODISCARD static constexpr auto VecIMPLCast(Vec v) noexcept -> decltype(U::VecIMPLCast_(v)); 198 …PETSC_NODISCARD static auto DeviceArrayRead(PetscDeviceContext dctx, Vec v) noexcept PETSC_DECLTYP… 199 …PETSC_NODISCARD static auto DeviceArrayWrite(PetscDeviceContext dctx, Vec v) noexcept PETSC_DECLTY… 200 …PETSC_NODISCARD static auto DeviceArrayReadWrite(PetscDeviceContext dctx, Vec v) noexcept PETSC_DE… 201 …PETSC_NODISCARD static auto HostArrayRead(PetscDeviceContext dctx, Vec v) noexcept PETSC_DECLTYPE_… 202 …PETSC_NODISCARD static auto HostArrayWrite(PetscDeviceContext dctx, Vec v) noexcept PETSC_DECLTYPE… 203 …PETSC_NODISCARD static auto HostArrayReadWrite(PetscDeviceContext dctx, Vec v) noexcept PETSC_DECL… [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/blas_cyclic/cupm/ |
| H A D | blas_cyclic_cupm_impl.hpp | 34 auto x_ = cupmScalarPtrCast(x); in axpby_dispatch() 35 auto y_ = cupmScalarPtrCast(y); in axpby_dispatch() 36 const auto calpha = cupmScalarPtrCast(&alpha); in axpby_dispatch() 37 const auto cbeta = cupmScalarPtrCast(&beta); in axpby_dispatch() 93 const auto A_ = cupmScalarPtrCast(A); in dmv() 94 const auto x_ = cupmScalarPtrCast(x); in dmv() 95 const auto y_ = cupmScalarPtrCast(y); in dmv() 96 const auto calpha = cupmScalarPtrCast(&alpha); in dmv() 97 const auto cbeta = cupmScalarPtrCast(&beta); in dmv() 98 const auto trans = hermitian_transpose ? CUPMBLAS_OP_C : CUPMBLAS_OP_N; in dmv() [all …]
|
| /petsc/src/sys/objects/device/tests/ |
| H A D | ex11.cxx | 23 const auto obj = reinterpret_cast<PetscObject>(cont); in operator ()() 35 static constexpr auto mem_read = Marker{PETSC_MEMORY_ACCESS_READ}; 36 static constexpr auto mem_write = Marker{PETSC_MEMORY_ACCESS_WRITE}; 37 static constexpr auto mem_read_write = Marker{PETSC_MEMORY_ACCESS_READ_WRITE}; 38 static constexpr auto mark_funcs = Petsc::util::make_array(mem_read, mem_write, mem_read_write); 58 const auto event = dependencies[i][j]; in MarkedObjectMapView() 105 for (auto &&c : cont) { in TestAllCombinations() 113 for (auto &&func_i : mark_funcs) { in TestAllCombinations() 114 for (auto &&func_j : mark_funcs) { in TestAllCombinations() 115 for (auto it = cont.cbegin(), next = std::next(it); it != cont.cend(); ++it, ++next) { in TestAllCombinations() [all …]
|
| /petsc/src/vec/vec/impls/seq/cupm/ |
| H A D | vecseqcupm_impl.hpp | 188 if (const auto n = zout->map->n) { in PointwiseBinary_() 195 const auto dxptr = thrust::device_pointer_cast(DeviceArrayRead(dctx, xin).data()); in PointwiseBinary_() 233 const auto inplace = !yin || (xinout == yin); in PointwiseUnary_() 236 if (const auto n = xinout->map->n) { in PointwiseUnary_() 238 const auto apply = [&](PetscScalar *xinout, PetscScalar *yin = nullptr) { in PointwiseUnary_() 242 const auto xptr = thrust::device_pointer_cast(xinout); in PointwiseUnary_() 359 if (const auto wseq = VecIMPLCast(w)) { in GetLocalVector() 360 if (auto &alloced = wseq->array_allocated) { in GetLocalVector() 361 const auto useit = UseCUPMHostAlloc(util::exchange(w->pinned_memory, PETSC_FALSE)); in GetLocalVector() 368 if (const auto wcu = VecCUPMCast(w)) { in GetLocalVector() [all …]
|
| /petsc/src/ts/utils/dmplexlandau/kokkos/ |
| H A D | landau.kokkos.cxx | 127 …auto a = static_cast<Kokkos::View<pointInterpolationP4est *[LANDAU_MAX_Q_FACE], Kokkos::LayoutRigh… in LandauKokkosDestroyMatMaps() 128 …auto b = static_cast<Kokkos::View<LandauIdx *[LANDAU_MAX_SPECIES][LANDAU_MAX_NQND], Kokkos::Layout… in LandauKokkosDestroyMatMaps() 129 auto c = static_cast<Kokkos::View<P4estVertexMaps *> *>(maps[grid].vp3); in LandauKokkosDestroyMatMaps() 167 …auto … in LandauKokkosStaticDataSet() 170 …auto … in LandauKokkosStaticDataSet() 173 …auto … in LandauKokkosStaticDataSet() 176 …auto … in LandauKokkosStaticDataSet() 179 …auto … in LandauKokkosStaticDataSet() 182 …auto … in LandauKokkosStaticDataSet() 185 …auto … in LandauKokkosStaticDataSet() [all …]
|
| /petsc/src/sys/objects/device/interface/ |
| H A D | mark_dcontext.cxx | 40 if (auto &destroy = event->destroy) { in reset_() 113 const auto etype = event->dtype; in PetscDeviceContextWaitForEvent_Private() 158 auto pos = in.find("petsc/src"); in split_on_petsc_path_() 362 const auto &map = marked_object_map.map; in PetscGetMarkedObjectMap_Internal() 363 const auto size = *nkeys = map.size(); in PetscGetMarkedObjectMap_Internal() 367 for (auto it_ = map.begin(); it_ != map.end(); ++it_) { in PetscGetMarkedObjectMap_Internal() 368 auto &it = *it_; in PetscGetMarkedObjectMap_Internal() 376 for (auto &&dep : it.second.dependencies) (*dependencies)[i][j++] = dep.event(); in PetscGetMarkedObjectMap_Internal() 393 const auto dctx_id = PetscObjectCast(dctx)->id; in PetscDeviceContextMapIterVisitor() 394 auto &&marked = CxxDataCast(dctx)->marked_objects(); in PetscDeviceContextMapIterVisitor() [all …]
|
| H A D | device.cxx | 185 switch (const auto dtype = device->type) { in PetscDeviceConfigure() 221 auto sub = viewer; in PetscDeviceView() 235 auto dtype = PETSC_DEVICE_HOST; in PetscDeviceView() 332 auto default_device_type = DefaultDeviceType(); 395 auto &dev = defaultDevices[type].first; in PetscDeviceInitializeDefaultDevice_Internal() 396 auto &init = defaultDevices[type].second; in PetscDeviceInitializeDefaultDevice_Internal() 537 auto initDeviceIdx = static_cast<PetscInt>(*deviceContextInitDevice); in PetscDeviceInitializeQueryOptions_Private() 538 auto flg = PETSC_FALSE; in PetscDeviceInitializeQueryOptions_Private() 593 for (auto &&device : defaultDevices) { in PetscDeviceFinalize_Private() 594 const auto dev = device.first; in PetscDeviceFinalize_Private() [all …]
|
| H A D | memory.cxx | 24 …{"host_to_host", "device_to_host", "host_to_device", "device_to_device", "auto", "PetscDeviceCopyM… 97 // PetscObjectId - A unique ID assigned at allocation or registration so auto-dep can 158 const auto end_it = map.end(); in search_for() 159 auto it = map.find(const_cast<map_type::key_type>(ptr)); in search_for() 192 auto &map = memory_map.map; in PetscDeviceRegisterMemory_Private() 193 const auto it = memory_map.search_for(ptr); in PetscDeviceRegisterMemory_Private() 198 const auto newid = PetscObjectNewId_Internal(); in PetscDeviceRegisterMemory_Private() 201 const auto tmp = PointerAttributes(mtype, newid, size); in PetscDeviceRegisterMemory_Private() 203 for (const auto &entry : map) { in PetscDeviceRegisterMemory_Private() 204 auto &&attr = entry.second; in PetscDeviceRegisterMemory_Private() [all …]
|
| H A D | dcontext.cxx | 387 const auto default_dtype = PETSC_DEVICE_DEFAULT(); in PetscDeviceContextSetUp() 405 …if (const auto device = dctx->device) PetscCall(PetscDeviceContextSetDevice_Private(*dctxdup, devi… in PetscDeviceContextDuplicate_Private() 445 auto stype = PETSC_STREAM_DEFAULT; in PetscDeviceContextDuplicate() 591 auto ninput = n; in PetscDeviceContextForkWithStreamType() 605 const auto numChildren = dctx->numChildren; in PetscDeviceContextForkWithStreamType() 606 auto &maxNumChildren = dctx->maxNumChildren; in PetscDeviceContextForkWithStreamType() 607 auto numAllocated = numChildren; in PetscDeviceContextForkWithStreamType() 610 if (auto &childIDs = dctx->childIDs) { in PetscDeviceContextForkWithStreamType() 626 auto &childID = dctx->childIDs[i]; in PetscDeviceContextForkWithStreamType() 629 auto &childctx = (*dsub)[i]; in PetscDeviceContextForkWithStreamType() [all …]
|
| /petsc/src/sys/objects/device/impls/cupm/ |
| H A D | cupmcontext.hpp | 95 const auto dci = impls_cast_(dctx); in initialize_handle_() 96 auto &handle = blashandles_[dctx->device->deviceId]; in initialize_handle_() 102 for (auto i = 0; i < 3; ++i) { in initialize_handle_() 103 const auto cberr = cupmBlasCreate(handle.ptr_to()); in initialize_handle_() 122 const auto dci = impls_cast_(dctx); in initialize_handle_() 123 auto &handle = solverhandles_[dctx->device->deviceId]; in initialize_handle_() 129 for (auto i = 0; i < 3; ++i) { in initialize_handle_() 130 const auto cerr = cupmSolverCreate(&handle); in initialize_handle_() 149 const auto devidl = dctxl->device->deviceId, devidr = dctxr->device->deviceId; in check_current_device_() 165 for (auto &&handle : blashandles_) { in finalize_() [all …]
|
| H A D | cupmdevice.cxx | 42 PETSC_NODISCARD auto id() const -> decltype(id_) { return id_; } in id() 43 PETSC_NODISCARD auto initialized() const -> decltype(devInitialized_) { return devInitialized_; } in initialized() 44 PETSC_NODISCARD auto prop() const -> const decltype(dprop_) & { return dprop_; } in prop() 60 const auto PETSC_UNUSED unused = cupmGetLastError(); in initialize() 193 const auto cupmSignalHandler = [](int signal, void *ptr) -> PetscErrorCode { in CUPMAwareMPI_() 217 for (auto &&device : devices_) { in finalize_() 247 auto initId = std::make_pair(*defaultDeviceId, PETSC_FALSE); in initialize() 248 auto initView = std::make_pair(*defaultView, PETSC_FALSE); in initialize() 249 auto initType = std::make_pair(*defaultInitType, PETSC_FALSE); in initialize() 260 } else if (const auto cerr = cupmGetDeviceCount(&ndev)) { in initialize() [all …]
|
| /petsc/src/vec/vec/impls/mpi/cupm/ |
| H A D | vecmpicupm_impl.hpp | 119 const auto vimpl = VecIMPLCast(v); in Duplicate() 120 const auto nghost = vimpl->nghost; in Duplicate() 129 if (const auto locrep = vimpl->localrep) { in Duplicate() 130 const auto yimpl = VecIMPLCast(*y); in Duplicate() 131 auto &ylocrep = yimpl->localrep; in Duplicate() 138 …if (const auto scatter = (yimpl->localupdate = vimpl->localupdate)) PetscCall(PetscObjectReference… in Duplicate() 246 const auto vcu = VecCUPMCast(x); in SetPreallocationCOO() 247 const auto vmpi = VecIMPLCast(x); in SetPreallocationCOO() 328 const auto vmpi = VecIMPLCast(x); in SetValuesCOO() 329 const auto vcu = VecCUPMCast(x); in SetValuesCOO() [all …]
|
| /petsc/src/ksp/ksp/tutorials/amrex/ |
| H A D | initEB.cxx | 24 …auto gshop = EB2::makeShop(EB2::translate(EB2::rotate(EB2::translate(box, {AMREX_D_DECL(-0.5… in initializeEB() 29 auto twospheres = EB2::makeUnion(sphere1, sphere2); in initializeEB() 30 auto gshop = EB2::makeShop(twospheres); in initializeEB() 36 auto twospheres = EB2::makeUnion(sphere1, sphere2, box); in initializeEB() 37 auto gshop = EB2::makeShop(twospheres); in initializeEB() 41 auto gshop = EB2::makeShop(flower); in initializeEB()
|
| /petsc/doc/overview/ |
| H A D | tao_solve_table.md | 9 :widths: auto 77 :widths: auto 161 :widths: auto 213 :widths: auto 241 :widths: auto 269 :widths: auto
|
| /petsc/src/mat/impls/aij/seq/kokkos/ |
| H A D | aijkok.hpp | 12 PETSC_NODISCARD inline decltype(auto) NoInit(std::string label) in NoInit() 121 auto exec = PetscGetKokkosExecutionSpace(); in Mat_SeqAIJKokkos() 132 auto a_d = Kokkos::create_mirror_view(Kokkos::WithoutInitializing, exec, a_h); in Mat_SeqAIJKokkos() 133 auto i_d = Kokkos::create_mirror_view_and_copy(exec, i_h); in Mat_SeqAIJKokkos() 134 auto j_d = Kokkos::create_mirror_view_and_copy(exec, j_h); in Mat_SeqAIJKokkos() 135 auto diag_d = Kokkos::create_mirror_view_and_copy(exec, diag_h); in Mat_SeqAIJKokkos() 151 auto a_d = csr.values; in Mat_SeqAIJKokkos() 154 auto j_d = csr.graph.entries; in Mat_SeqAIJKokkos() 155 …auto a_h = Kokkos::create_mirror_view(Kokkos::WithoutInitializing, HostMirrorMemory… in Mat_SeqAIJKokkos() 156 auto i_h = Kokkos::create_mirror_view_and_copy(HostMirrorMemorySpace(), i_d); in Mat_SeqAIJKokkos() [all …]
|
| /petsc/src/sys/objects/device/impls/ |
| H A D | impldevicebase.hpp | 134 constexpr auto dtype = PETSC_DEVICE_IMPL(); in PetscOptionDevice() 135 const auto implname = PetscDeviceTypes[dtype]; in PetscOptionDevice() 136 auto buf = std::array<char, 128>{}; in PetscOptionDevice() 137 constexpr auto buflen = buf.size() - 1; in PetscOptionDevice() 141 const auto len = std::strlen(optstub) + std::strlen(implname); in PetscOptionDevice() 162 auto type = static_cast<PetscInt>(util::to_underlying(*inittype)); in PetscOptionDeviceInitialize() 218 constexpr auto dtype = PETSC_DEVICE_IMPL(); in PetscOptionDeviceAll() 219 const auto implname = PetscDeviceTypes[dtype]; in PetscOptionDeviceAll() 220 auto buf = std::array<char, 128>{}; in PetscOptionDeviceAll() 221 constexpr auto buflen = buf.size() - 1; // -1 to leave room for null in PetscOptionDeviceAll() [all …]
|
| /petsc/src/mat/impls/dense/mpi/cupm/ |
| H A D | matmpidensecupm.hpp | 120 if (auto &mimplA = MatIMPLCast(A)->A) { in SetPreallocation_() 140 const auto B = *newmat; in Convert_Dispatch_() 141 const auto pobj = PetscObjectCast(B); in Convert_Dispatch_() 172 …if (auto &m_A = MatIMPLCast(B)->A) PetscCall(MatConvert(m_A, MATSEQDENSE, MAT_INPLACE_MATRIX, &m_A… in Convert_Dispatch_() 175 if (auto &m_A = MatIMPLCast(B)->A) { in Convert_Dispatch_() 243 const auto mimpl = MatIMPLCast(A); in BindToCPU() 244 const auto pobj = PetscObjectCast(A); in BindToCPU() 249 if (const auto mimpl_A = mimpl->A) PetscCall(MatBindToCPU(mimpl_A, usehost)); in BindToCPU() 270 if (const auto mimpl_cmat = mimpl->cmat) PetscCall(MatBindToCPU(mimpl_cmat, usehost)); in BindToCPU() 296 auto &mimplA = MatIMPLCast(A)->A; in GetArray() [all …]
|
| /petsc/src/ksp/ksp/utils/lmvm/dense/cd_cupm/ |
| H A D | cd_cupm.cxx | 30 auto A_ = cupmScalarPtrCast(A); in SolveInPlace() 31 auto x_ = cupmScalarPtrCast(x); in SolveInPlace() 54 auto sone = cupmScalarCast(1.0); in SolveInPlaceCyclic() 55 auto minus_one = cupmScalarCast(-1.0); in SolveInPlaceCyclic() 56 auto A_ = cupmScalarPtrCast(A); in SolveInPlaceCyclic() 57 auto x_ = cupmScalarPtrCast(x); in SolveInPlaceCyclic()
|
| /petsc/src/sys/objects/cxx/memory/ |
| H A D | object_pool.cxx | 53 constexpr auto max_align = std::numeric_limits<unsigned char>::max() + 1; in max_alignment() 128 if (const auto ptr = util::exchange(*in_ptr, nullptr)) { in delete_ptr_() 219 constexpr auto max_align = util::to_underlying(AllocationHeader::max_alignment()); in valid_alignment_() 220 const auto align = util::to_underlying(in_align); in valid_alignment_() 267 const auto aligned_ptr = reinterpret_cast<unsigned char *>(user_ptr); in extract_header_() 268 const auto buffer_zone_end = aligned_ptr - AllocationHeader::buffer_zone_size(); in extract_header_() 273 const auto alignment_offset = *buffer_zone_end; in extract_header_() 299 constexpr auto header_size = AllocationHeader::header_size(); in allocate_ptr_() 300 const auto total_size = total_size_(size, align); in allocate_ptr_() 301 const auto size_before = total_size - header_size; in allocate_ptr_() [all …]
|
| /petsc/src/mat/impls/aij/mpi/kokkos/ |
| H A D | mpiaijkok.kokkos.cxx | 191 Kokkos::TeamPolicy<ExecutionSpace> teamPolicy(128, Kokkos::AUTO); in MatMergeGetLaunchParameters() 352 …auto Ai_h = Kokkos::create_mirror_view_and_copy(HostMirrorMemorySpace(), A.graph.r… in MatMPIAIJKokkosReduceBegin() 353 …auto Aj_h = Kokkos::create_mirror_view_and_copy(HostMirrorMemorySpace(), A.graph.e… in MatMPIAIJKokkosReduceBegin() 354 …auto Bi_h = Kokkos::create_mirror_view_and_copy(HostMirrorMemorySpace(), B.graph.r… in MatMPIAIJKokkosReduceBegin() 355 …auto Bj_h = Kokkos::create_mirror_view_and_copy(HostMirrorMemorySpace(), B.graph.e… in MatMPIAIJKokkosReduceBegin() 631 auto &Aa = A.values; in MatMPIAIJKokkosReduceBegin() 632 auto &Ba = B.values; in MatMPIAIJKokkosReduceBegin() 633 const auto &Ai = A.graph.row_map; in MatMPIAIJKokkosReduceBegin() 634 const auto &Bi = B.graph.row_map; in MatMPIAIJKokkosReduceBegin() 635 const auto &E_NzLeft = mm->E_NzLeft; in MatMPIAIJKokkosReduceBegin() [all …]
|