API reference¶
HPX follows a versioning scheme with three numbers: major.minor.patch
. We
guarantee no breaking changes in the API for patch releases. Minor releases may
remove or break existing APIs, but only after a deprecation period of at least
two minor releases. In rare cases do we outright remove old and unused
functionality without a deprecation period.
We do not provide any ABI compatibility guarantees between any versions, debug and release builds, and builds with different C++ standards.
The public API of HPX is presented below. Clicking on a name brings you to the full documentation for the class or function. Including the header specified in a heading brings in the features listed under that heading.
Note
Names listed here are guaranteed stable with respect to semantic versioning. However, at the moment the list is incomplete and certain unlisted features are intended to be in the public API. While we work on completing the list, if you’re unsure about whether a particular unlisted name is part of the public API you can get into contact with us or open an issue and we’ll clarify the situation.
Full API¶
The full API of HPX is presented below. The listings for the public API above refer to the full documentation below.
Note
Most names listed in the full API reference are implementation details or considered unstable. They are listed mostly for completeness. If there is a particular feature you think deserves being in the public API we may consider promoting it. In general we prioritize making sure features corresponding to C++ standard library features are stable and complete.
- Main HPX library
- affinity
- allocator_support
- asio
- assertion
- cache
- concepts
- concurrency
- config
- config_registry
- coroutines
- datastructures
- debugging
- errors
- execution_base
- filesystem
- format
- functional
- hardware
- hashing
- ini
- io_service
- iterator_support
- itt_notify
- logging
- memory
- plugin
- prefix
- preprocessor
- properties
- schedulers
- serialization
- static_reinit
- statistics
- string_util
- synchronization
- testing
- thread_pools
- thread_support
- threading_base
- timing
- topology
- type_support
- util
- version
- actions
- actions_base
- agas
- agas_base
- async_colocated
- async_cuda
- async_distributed
- async_mpi
- batch_environments
- checkpoint
- checkpoint_base
- collectives
- command_line_handling
- command_line_handling_local
- components
- components_base
- compute
- compute_cuda
- distribution_policies
- executors_distributed
- include
- include_local
- init_runtime
- init_runtime_local
- lcos_distributed
- mpi_base
- naming
- naming_base
- performance_counters
- program_options
- resiliency_distributed
- resource_partitioner
- runtime_components
- runtime_configuration
- runtime_distributed
- runtime_local
- segmented_algorithms
- threadmanager
- algorithms
- async_base
- async_combinators
- async_local
- execution
- executors
- futures
- lcos_local
- pack_traversal
- resiliency
- thread_pool_util
- threading
- timed_execution