TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
gather.hpp File Reference
#include "./utils.hpp"
#include "../basic_functions.hpp"
#include "../concepts.hpp"
#include "../declarations.hpp"
#include "../layout/range.hpp"
#include "../macros.hpp"
#include "../stdutil/array.hpp"
#include "../traits.hpp"
#include <mpi/mpi.hpp>
#include <cstddef>
#include <functional>
#include <numeric>
#include <span>
#include <type_traits>
#include <utility>

Detailed Description

Provides an MPI gather function for nda::basic_array or nda::basic_array_view types.

Definition in file gather.hpp.

Go to the source code of this file.

Classes

struct  mpi::lazy< mpi::tag::gather, A >
 Specialization of the mpi::lazy class for nda::Array types and the mpi::tag::gather tag. More...
 

Functions

template<typename A >
requires (is_regular_or_view_v<A> and std::decay_t<A>::is_stride_order_C())
auto nda::lazy_mpi_gather (A &&a, mpi::communicator comm={}, int root=0, bool all=false)
 Implementation of a lazy MPI gather for nda::basic_array or nda::basic_array_view types.
 
template<typename A >
requires (is_regular_or_view_v<A> and std::decay_t<A>::is_stride_order_C())
auto nda::mpi_gather (A const &a, mpi::communicator comm={}, int root=0, bool all=false)
 Implementation of an MPI gather for nda::basic_array or nda::basic_array_view types.
 
template<typename A1 , typename A2 >
requires (is_regular_or_view_v<A1> and std::decay_t<A1>::is_stride_order_C() and is_regular_or_view_v<A2> and std::decay_t<A2>::is_stride_order_C())
void nda::mpi_gather_capi (A1 const &a_in, A2 &&a_out, mpi::communicator comm={}, int root=0, bool all=false)
 Implementation of an MPI gather for nda::basic_array or nda::basic_array_view types using a C-style API.