Loading...
Searching...
No Matches
terra::communication Namespace Reference

Namespaces

namespace  detail
 
namespace  detail_view_constraints
 
namespace  shell
 

Enumerations

enum class  CommunicationReduction { SUM , MIN , MAX }
 Communication reduction modes. More...
 

Functions

template<int VecDim, typename BufferView , typename ViewType >
std::enable_if_t< detail_view_constraints::is_kokkos_view_v< BufferView > &&detail_view_constraints::is_kokkos_view_v< ViewType > &&(std::decay_t< BufferView >::rank==1)> copy_to_buffer (const BufferView &buffer, const ViewType &data, const int local_subdomain_id, const grid::BoundaryVertex boundary_vertex)
 
template<int VecDim, typename BufferView , typename ViewType >
std::enable_if_t< detail_view_constraints::is_kokkos_view_v< BufferView > &&detail_view_constraints::is_kokkos_view_v< ViewType > &&(std::decay_t< BufferView >::rank==2)> copy_to_buffer (const BufferView &buffer, const ViewType &data, const int local_subdomain_id, const grid::BoundaryEdge boundary_edge)
 
template<int VecDim, typename BufferView , typename ViewType >
std::enable_if_t< detail_view_constraints::is_kokkos_view_v< BufferView > &&detail_view_constraints::is_kokkos_view_v< ViewType > &&(std::decay_t< BufferView >::rank==3)> copy_to_buffer (const BufferView &buffer, const ViewType &data, const int local_subdomain_id, const grid::BoundaryFace boundary_face)
 
template<typename ScalarType , int VecDim, typename ViewType >
void copy_to_buffer (const grid::Grid0DDataVec< ScalarType, VecDim > &buffer, const ViewType &data, const int local_subdomain_id, const grid::BoundaryVertex boundary_vertex)
 
template<typename ScalarType , int VecDim, typename ViewType >
void copy_to_buffer (const grid::Grid1DDataVec< ScalarType, VecDim > &buffer, const ViewType &data, const int local_subdomain_id, const grid::BoundaryEdge boundary_edge)
 
template<typename ScalarType , int VecDim, typename ViewType >
void copy_to_buffer (const grid::Grid2DDataVec< ScalarType, VecDim > &buffer, const ViewType &data, const int local_subdomain_id, const grid::BoundaryFace boundary_face)
 
template<typename ScalarType , int VecDim, typename ViewType >
void copy_from_buffer_rotate_and_reduce (const grid::Grid0DDataVec< ScalarType, VecDim > &buffer, const ViewType &data, const int local_subdomain_id, const grid::BoundaryVertex boundary_vertex, const CommunicationReduction reduction)
 
template<typename ScalarType , int VecDim, typename ViewType >
void copy_from_buffer_rotate_and_reduce (const grid::Grid1DDataVec< ScalarType, VecDim > &buffer, const ViewType &data, const int local_subdomain_id, const grid::BoundaryEdge boundary_edge, const grid::BoundaryDirection boundary_direction, const CommunicationReduction reduction)
 
template<typename ScalarType , int VecDim, typename ViewType >
void copy_from_buffer_rotate_and_reduce (const grid::Grid2DDataVec< ScalarType, VecDim > &buffer, const ViewType &data, const int local_subdomain_id, const grid::BoundaryFace boundary_face, const std::tuple< grid::BoundaryDirection, grid::BoundaryDirection > boundary_directions, const CommunicationReduction reduction)
 

Enumeration Type Documentation

◆ CommunicationReduction

Communication reduction modes.

Enumerator
SUM 

Sums up the node values during receive.

MIN 

Stores the min of all received values during receive.

MAX 

Stores the max of all received values during receive.

Function Documentation

◆ copy_from_buffer_rotate_and_reduce() [1/3]

template<typename ScalarType , int VecDim, typename ViewType >
void terra::communication::copy_from_buffer_rotate_and_reduce ( const grid::Grid0DDataVec< ScalarType, VecDim > &  buffer,
const ViewType &  data,
const int  local_subdomain_id,
const grid::BoundaryVertex  boundary_vertex,
const CommunicationReduction  reduction 
)

◆ copy_from_buffer_rotate_and_reduce() [2/3]

template<typename ScalarType , int VecDim, typename ViewType >
void terra::communication::copy_from_buffer_rotate_and_reduce ( const grid::Grid1DDataVec< ScalarType, VecDim > &  buffer,
const ViewType &  data,
const int  local_subdomain_id,
const grid::BoundaryEdge  boundary_edge,
const grid::BoundaryDirection  boundary_direction,
const CommunicationReduction  reduction 
)

◆ copy_from_buffer_rotate_and_reduce() [3/3]

template<typename ScalarType , int VecDim, typename ViewType >
void terra::communication::copy_from_buffer_rotate_and_reduce ( const grid::Grid2DDataVec< ScalarType, VecDim > &  buffer,
const ViewType &  data,
const int  local_subdomain_id,
const grid::BoundaryFace  boundary_face,
const std::tuple< grid::BoundaryDirection, grid::BoundaryDirection boundary_directions,
const CommunicationReduction  reduction 
)

◆ copy_to_buffer() [1/6]

template<int VecDim, typename BufferView , typename ViewType >
std::enable_if_t< detail_view_constraints::is_kokkos_view_v< BufferView > && detail_view_constraints::is_kokkos_view_v< ViewType > &&(std::decay_t< BufferView >::rank==2)> terra::communication::copy_to_buffer ( const BufferView &  buffer,
const ViewType &  data,
const int  local_subdomain_id,
const grid::BoundaryEdge  boundary_edge 
)

◆ copy_to_buffer() [2/6]

template<int VecDim, typename BufferView , typename ViewType >
std::enable_if_t< detail_view_constraints::is_kokkos_view_v< BufferView > && detail_view_constraints::is_kokkos_view_v< ViewType > &&(std::decay_t< BufferView >::rank==3)> terra::communication::copy_to_buffer ( const BufferView &  buffer,
const ViewType &  data,
const int  local_subdomain_id,
const grid::BoundaryFace  boundary_face 
)

◆ copy_to_buffer() [3/6]

template<int VecDim, typename BufferView , typename ViewType >
std::enable_if_t< detail_view_constraints::is_kokkos_view_v< BufferView > && detail_view_constraints::is_kokkos_view_v< ViewType > &&(std::decay_t< BufferView >::rank==1)> terra::communication::copy_to_buffer ( const BufferView &  buffer,
const ViewType &  data,
const int  local_subdomain_id,
const grid::BoundaryVertex  boundary_vertex 
)

◆ copy_to_buffer() [4/6]

template<typename ScalarType , int VecDim, typename ViewType >
void terra::communication::copy_to_buffer ( const grid::Grid0DDataVec< ScalarType, VecDim > &  buffer,
const ViewType &  data,
const int  local_subdomain_id,
const grid::BoundaryVertex  boundary_vertex 
)

◆ copy_to_buffer() [5/6]

template<typename ScalarType , int VecDim, typename ViewType >
void terra::communication::copy_to_buffer ( const grid::Grid1DDataVec< ScalarType, VecDim > &  buffer,
const ViewType &  data,
const int  local_subdomain_id,
const grid::BoundaryEdge  boundary_edge 
)

◆ copy_to_buffer() [6/6]

template<typename ScalarType , int VecDim, typename ViewType >
void terra::communication::copy_to_buffer ( const grid::Grid2DDataVec< ScalarType, VecDim > &  buffer,
const ViewType &  data,
const int  local_subdomain_id,
const grid::BoundaryFace  boundary_face 
)