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

Detailed Description

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

Definition in file scatter.hpp.

Go to the source code of this file.

Classes

struct  mpi::lazy< mpi::tag::scatter, A >
 Specialization of the mpi::lazy class for nda::Array types and the mpi::tag::scatter 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_scatter (A &&a, mpi::communicator comm={}, int root=0)
 Implementation of a lazy MPI scatter 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_scatter (A const &a, mpi::communicator comm={}, int root=0)
 Implementation of an MPI scatter 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_scatter_capi (A1 const &a_in, A2 &&a_out, mpi::communicator comm={}, int root=0)
 Implementation of an MPI scatter for nda::basic_array or nda::basic_array_view types using a C-style API.