deal.II version GIT relicensing-2206-gaa53ff9447 2024-12-02 09:10:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Namespaces | Functions
Utilities::MPI::internal Namespace Reference

Namespaces

namespace  CollectiveMutexImplementation
 
namespace  MPIDataTypes
 
namespace  Tags
 

Functions

template<typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==false, void > pack_and_isend (const ArrayView< const T > &data, const unsigned int rank, const unsigned int tag, const MPI_Comm comm, std::vector< std::vector< char > > &buffers, std::vector< MPI_Request > &requests)
 
template<typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==true, void > pack_and_isend (const ArrayView< const T > &data, const unsigned int rank, const unsigned int tag, const MPI_Comm comm, std::vector< std::vector< char > > &, std::vector< MPI_Request > &requests)
 
template<int rank_, int dim, typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==true, void > pack_and_isend (const ArrayView< const Tensor< rank_, dim, T > > &data, const unsigned int rank, const unsigned int tag, const MPI_Comm comm, std::vector< std::vector< char > > &buffers, std::vector< MPI_Request > &requests)
 
template<typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==false, void > recv_and_unpack (const ArrayView< T > &data, const MPI_Comm comm, const MPI_Status &status, std::vector< char > &buffer)
 
template<typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==true, void > recv_and_unpack (const ArrayView< T > &data, const MPI_Comm comm, const MPI_Status &status, std::vector< char > &)
 
template<int rank_, int dim, typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==true, void > recv_and_unpack (const ArrayView< Tensor< rank_, dim, T > > &data, const MPI_Comm comm, const MPI_Status &status, std::vector< char > &buffer)
 

Function Documentation

◆ pack_and_isend() [1/3]

template<typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==false, void > Utilities::MPI::internal::pack_and_isend ( const ArrayView< const T > &  data,
const unsigned int  rank,
const unsigned int  tag,
const MPI_Comm  comm,
std::vector< std::vector< char > > &  buffers,
std::vector< MPI_Request > &  requests 
)
private

Pack data and send it via MPI_Isend.

Definition at line 543 of file mpi_remote_point_evaluation.h.

◆ pack_and_isend() [2/3]

template<typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==true, void > Utilities::MPI::internal::pack_and_isend ( const ArrayView< const T > &  data,
const unsigned int  rank,
const unsigned int  tag,
const MPI_Comm  comm,
std::vector< std::vector< char > > &  ,
std::vector< MPI_Request > &  requests 
)
private

Above function specialized for data types supported by MPI so that one can skip packing.

Definition at line 573 of file mpi_remote_point_evaluation.h.

◆ pack_and_isend() [3/3]

template<int rank_, int dim, typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==true, void > Utilities::MPI::internal::pack_and_isend ( const ArrayView< const Tensor< rank_, dim, T > > &  data,
const unsigned int  rank,
const unsigned int  tag,
const MPI_Comm  comm,
std::vector< std::vector< char > > &  buffers,
std::vector< MPI_Request > &  requests 
)
private

Above function specialized for Tenors objects. The underlying data type might be supported by MPI so that one can skip packing.

Definition at line 600 of file mpi_remote_point_evaluation.h.

◆ recv_and_unpack() [1/3]

template<typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==false, void > Utilities::MPI::internal::recv_and_unpack ( const ArrayView< T > &  data,
const MPI_Comm  comm,
const MPI_Status &  status,
std::vector< char > &  buffer 
)
private

Receive message, unpack it, and store the result in data.

Definition at line 619 of file mpi_remote_point_evaluation.h.

◆ recv_and_unpack() [2/3]

template<typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==true, void > Utilities::MPI::internal::recv_and_unpack ( const ArrayView< T > &  data,
const MPI_Comm  comm,
const MPI_Status &  status,
std::vector< char > &   
)
private

Above function specialized for data types supported by MPI so that one can skip unpacking.

Definition at line 654 of file mpi_remote_point_evaluation.h.

◆ recv_and_unpack() [3/3]

template<int rank_, int dim, typename T >
std::enable_if_t< Utilities::MPI::is_mpi_type< T >==true, void > Utilities::MPI::internal::recv_and_unpack ( const ArrayView< Tensor< rank_, dim, T > > &  data,
const MPI_Comm  comm,
const MPI_Status &  status,
std::vector< char > &  buffer 
)
private

Above function specialized for Tensor objects. The underlying data type might be supported by MPI so that one can skip unpacking.

Definition at line 677 of file mpi_remote_point_evaluation.h.