async_mpi

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace mpi
namespace experimental
struct mpi_exception : public exception

Public Functions

mpi_exception(int err_code, const std::string &msg = "")
int get_mpi_errorcode()

Protected Attributes

int err_code_
namespace hpx
namespace mpi
namespace experimental
struct executor

Public Types

using execution_category = hpx::execution::parallel_execution_tag
using executor_parameters_type = hpx::execution::static_chunk_size

Public Functions

constexpr executor(MPI_Comm communicator = MPI_COMM_WORLD)
template<typename F, typename ...Ts>
decltype(auto) async_execute(F &&f, Ts&&... ts) const
std::size_t in_flight_estimate() const

Private Members

MPI_Comm communicator_
namespace hpx
namespace mpi
namespace experimental

Typedefs

using print_on = debug::enable_print<false>

Functions

static constexpr print_on hpx::mpi::experimental::mpi_debug("MPI_FUT")
void set_error_handler()
hpx::future<void> get_future(MPI_Request request)
hpx::threads::policies::detail::polling_status poll()
void wait()
template<typename F>
void wait(F &&f)
void init(bool init_mpi = false, std::string const &pool_name = "", bool init_errorhandler = false)
void finalize(std::string const &pool_name = "")
template<typename ...Args>
void debug(Args&&... args)
struct enable_user_polling

Public Functions

enable_user_polling(std::string const &pool_name = "", bool init_errorhandler = false)
~enable_user_polling()

Private Members

std::string pool_name_
namespace hpx
namespace mpi
namespace experimental

Variables

hpx::mpi::experimental::transform_mpi_t transform_mpi
struct transform_mpi_t : public hpx::functional::detail::tag_fallback<transform_mpi_t>

Friends

template<typename Sender, typename F>
friend constexpr auto tag_fallback_invoke(transform_mpi_t, Sender &&s, F &&f)
template<typename F>
friend constexpr auto tag_fallback_invoke(transform_mpi_t, F &&f)