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 179 Distributed implementation of classes of header hpx/barrier.hpp#

Class

hpx::distributed::barrier

Functions#

Table 180 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#

Functions#

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 183 Distributed implementation of classes of header hpx/latch.hpp#

Class

hpx::distributed::latch

Member functions#

Table 184 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 185 Distributed implementation of functions of header hpx/async.hpp#

Functions

modules_hpx/async_distributed/async.hpp_api

modules_hpx/async_distributed/sync.hpp_api

modules_hpx/async_distributed/post.hpp_api

modules_hpx/async_distributed/dataflow.hpp_api

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 186 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#

Functions#

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

Function

hpx::new_

hpx/supervision_dispatch.hpp#

The header hpx/supervision_dispatch.hpp provides peer discovery, cooperative lifecycle management, failure detection, and fenced action dispatch across localities. See Supervision dispatch module for the full API reference and Supervision dispatch for the narrative documentation.

Classes#

Table 189 hpx classes of header hpx/supervision_dispatch.hpp#

Class

hpx::supervision::registry

Functions#

Table 190 hpx functions of header hpx/supervision_dispatch.hpp#

Function

hpx::supervision::discover_and_join

hpx::supervision::dispatch_work