Overview
Overview#
HPX is organized into different sub-libraries and those in turn into modules.
The libraries and modules are independent, with clear dependencies and no
cycles. As an end-user, the use of these libraries is completely transparent. If
you use e.g. add_hpx_executable
to create a target in your project you will
automatically get all modules as dependencies. See below for a list of the
available libraries and modules. Currently these are nothing more than an
internal grouping and do not affect usage. They cannot be consumed individually
at the moment.
Note
There is a dependency report that displays useful information about the structure of the code. It is available for each commit at HPX Dependency report.
- Core modules
- affinity
- algorithms
- allocator_support
- asio
- assertion
- async_base
- async_combinators
- async_cuda
- async_local
- async_mpi
- async_sycl
- batch_environments
- cache
- concepts
- concurrency
- config
- config_registry
- coroutines
- datastructures
- debugging
- errors
- execution
- execution_base
- executors
- filesystem
- format
- functional
- futures
- hardware
- hashing
- include_local
- io_service
- iterator_support
- itt_notify
- lci_base
- lcos_local
- lock_registration
- logging
- memory
- mpi_base
- pack_traversal
- plugin
- prefix
- preprocessor
- program_options
- properties
- resiliency
- resource_partitioner
- runtime_configuration
- schedulers
- serialization
- static_reinit
- string_util
- synchronization
- testing
- thread_pool_util
- thread_pools
- thread_support
- threading
- threading_base
- thread_manager
- timed_execution
- timing
- topology
- type_support
- util
- version
- Main HPX modules
- actions
- actions_base
- agas
- agas_base
- async_colocated
- async_distributed
- checkpoint
- checkpoint_base
- collectives
- command_line_handling
- components
- components_base
- compute
- distribution_policies
- executors_distributed
- include
- init_runtime
- lcos_distributed
- naming
- naming_base
- parcelport_lci
- parcelport_libfabric
- parcelport_mpi
- parcelport_tcp
- parcelset
- parcelset_base
- performance_counters
- plugin_factories
- resiliency_distributed
- runtime_components
- runtime_distributed
- segmented_algorithms
- statistics