|
core 0.5.0
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
|
#include <cstdio>#include <cstdlib>#include <type_traits>#include <vector>#include "peclet/core/common/mpi.hpp"#include "peclet/core/common/types.hpp"#include "peclet/core/common/view.hpp"#include "peclet/core/halo/grid_halo_topology.hpp"Go to the source code of this file.
Classes | |
| class | peclet::core::halo::GridHalo< T > |
GPU ghost-layer exchange for a contiguous device field peclet::core::View<T> (one element per extended-block cell). More... | |
Namespaces | |
| namespace | peclet |
| namespace | peclet::core |
| namespace | peclet::core::halo |
| namespace | peclet::core::halo::detail |
Functions | |
| bool | peclet::core::halo::detail::mpiReportsCudaAware () |
| Does the MPI library itself claim CUDA awareness (OpenMPI's MPIX_Query_cuda_support)? Some stacks under-report (measured: user-space OpenMPI 5.0.7 + UCX 1.20.1 with working cuda_ipc returns 0 — see core/docs/cuda-aware-mpi.md), so this is only used to AUTO-enable, never to veto an explicit env request. | |
| bool | peclet::core::halo::detail::probeGpuAwareMpi () |
| Probe whether MPI actually accepts DEVICE pointers (GPU-aware MPI): checksummed loopback Sendrecv on MPI_COMM_SELF with device buffers, errors returned (not fatal) and the payload verified on device. | |
| bool | peclet::core::halo::detail::gpuAwareMpi () |
| Whether to hand DEVICE pointers straight to MPI (GPU-aware MPI) instead of host-staging. | |