core 0.5.0
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
Loading...
Searching...
No Matches
grid_halo.hpp File Reference
#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.