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.
- Core modules
- 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
- Parallelism modules
- Main HPX modules
- actions
- actions_base
- agas
- agas_base
- async_colocated
- async_cuda
- async
- 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
- thread_manager