Public distributed API#

Our Public Distributed API offers a rich set of tools and functions that enable developers to harness the full potential of distributed computing. Here, you’ll find a comprehensive list of header files, classes and functions for various distributed computing features provided by HPX.

hpx/barrier.hpp#

The header hpx/barrier.hpp includes a distributed barrier implementation. For information regarding the C++ standard library header barrier, see Public API.

Classes#

Table 176 Distributed implementation of classes of header hpx/barrier.hpp#

Class

hpx::distributed::barrier

Functions#

Table 177 hpx functions of header hpx/barrier.hpp#

Function

hpx::distributed::wait

hpx::distributed::synchronize

hpx/collectives.hpp#

The header hpx/collectives.hpp contains definitions and implementations related to the collectives operations.

Classes#

Table 178 hpx classes of header hpx/collectives.hpp#

Class

hpx::collectives::num_sites_arg

hpx::collectives::this_site_arg

hpx::collectives::that_site_arg

hpx::collectives::generation_arg

hpx::collectives::root_site_arg

hpx::collectives::tag_arg

hpx::collectives::arity_arg

hpx::collectives::communicator

hpx::collectives::channel_communicator

Functions#

Table 179 hpx functions of header hpx/collectives.hpp#

Function

hpx::collectives::all_gather

hpx::collectives::all_reduce

hpx::collectives::all_to_all

hpx::collectives::broadcast_to

hpx::collectives::broadcast_from

hpx::collectives::create_channel_communicator

hpx::collectives::set

hpx::collectives::get

hpx::collectives::create_communication_set

hpx::collectives::create_communicator

hpx::collectives::create_local_communicator

hpx::collectives::communicator::set_info

hpx::collectives::communicator::get_info

hpx::collectives::communicator::is_root

hpx::collectives::exclusive_scan

hpx::collectives::gather_here

hpx::collectives::gather_there

hpx::collectives::inclusive_scan

hpx::collectives::reduce_here

hpx::collectives::reduce_there

hpx::collectives::scatter_from

hpx::collectives::scatter_to

hpx/latch.hpp#

The header hpx/latch.hpp includes a distributed latch implementation. For information regarding the C++ standard library header latch, see Public API.

Classes#

Table 180 Distributed implementation of classes of header hpx/latch.hpp#

Class

hpx::distributed::latch

Member functions#

Table 181 hpx functions of class hpx::distributed::latch from header hpx/latch.hpp#

Function

hpx::distributed::latch::count_down_and_wait

hpx::distributed::latch::arrive_and_wait

hpx::distributed::latch::count_down

hpx::distributed::latch::is_ready

hpx::distributed::latch::try_wait

hpx::distributed::latch::wait

hpx/async.hpp#

The header hpx/async.hpp includes distributed implementations of hpx::async, hpx::post, hpx::sync, and hpx::dataflow. For information regarding the C++ standard library header, see Public API.

Functions#

Table 182 Distributed implementation of functions of header hpx/async.hpp#

Functions

hpx::async (distributed)

hpx::sync (distributed)

hpx::post (distributed)

hpx::dataflow (distributed)

hpx/components.hpp#

The header hpx/include/components.hpp includes the components implementation. A component in hpx is a C++ class which can be created remotely and for which its member functions can be invoked remotely as well. More information about how components can be defined, created, and used can be found in Writing components. Components and actions includes examples on the accumulator, template accumulator and template function accumulator.

Macros#

Table 183 hpx macros of header hpx/components.hpp#

Macro

HPX_DEFINE_COMPONENT_ACTION

HPX_REGISTER_ACTION_DECLARATION

HPX_REGISTER_ACTION

HPX_REGISTER_COMMANDLINE_MODULE

HPX_REGISTER_COMPONENT

HPX_REGISTER_COMPONENT_MODULE

HPX_REGISTER_STARTUP_MODULE

Classes#

Table 184 hpx classes of header hpx/components.hpp#

Class

hpx::components::client

hpx::components::client_base

hpx::components::component

hpx::components::component_base

hpx::components::component_commandline_base

Functions#

Table 185 hpx functions of header hpx/components.hpp#

Function

hpx::new_