HPX V1.4.0 (January 15, 2020)¶
General changes¶
We have added the collectives
all_to_all
andall_reduce
.We have added APIs for resiliency, which allows replication and replay for failed tasks. See the documentation for more details.
Components can now be checkpointed.
Performance improvements to schedulers and coroutines. A significant change is the addition of stackless coroutines. These are to be used for tasks that do not need to be suspended and can reduce overheads noticeably in applications with short tasks. A stackless coroutine can be created with the new stack size
thread_stacksize_nostack
.We have added an implementation of
unique_any
, which is a non-copyable version ofany
.The
shared_priority_queue_scheduler
has been improved. It now has lower overheads than the default scheduler in many situations. Unlike the default scheduler it fully supports NUMA scheduling hints. Enable it with the command line option--hpx:queuing
=shared-priority
. This scheduler should still be considered experimental, but its use is encouraged in real applications to help us make it production ready.We have added the performance counters
background-receive-duration
andbackground-receive-overhead
for inspecting the time and overhead spent on receiving parcels in the background.Compilation time has been further improved when
HPX_WITH_NETWORKING=OFF
.We no longer require compiled Boost dependencies in certain configurations. This requires at least Boost 1.70, compiling on x86 with GCC 9, clang (libc++) 9, or VS2019 in C++17 mode. The dependency on Boost.Filesystem can explicitly be turned on with
HPX_FILESYSTEM_WITH_BOOST_FILESYSTEM_COMPATIBILITY=ON
(it is off by default if the standard library supportsstd::filesystem
). Boost.ProgramOptions has been copied into the HPX repository. We have a compatibility layer for users who must explicitly use Boost.ProgramOptions instead of the ProgramOptions provided by HPX. To remove the dependencyHPX_PROGRAM_OPTIONS_WITH_BOOST_PROGRAM_OPTIONS_COMPATIBILITY
must be explicitly set toOFF
. This option will be removed in a future release. We have also removed several other header-only dependencies on Boost.It is now possible to use the process affinity mask set by tools like
numactl
and various batch environments with the command line option--hpx:use-process-mask
. Enabling this option implies--hpx:ignore-batch-env
.It is now possible to create standalone thread pools without starting the runtime. See the
standalone_thread_pool_executor.cpp
test in theexecution
module for an example.Tasks annotated with
hpx::util::annotated_function
now have their correct name when using APEX to generate OTF2 files.Cloning of APEX was defective in previous releases (it required manual intervention to check out the correct tag or branch). This has been fixed.
The option
HPX_WITH_MORE_THAN_64_THREADS
is now ignored and will be removed in a future release. The value is instead derived directly fromHPX_WITH_MAX_CPU_COUNT
option.We have deprecated compiling in C++11 mode. The next release will require a C++14 capable compiler.
We have deprecated support for the Vc library. This option will be replaced with SIMD support from the standard library in a future release.
We have significantly refactored our CMake setup. This is intended to be a non-breaking change and will allow for using HPX through CMake targets in the future.
We have continued modularizing the HPX library. In the process we have rearranged many header files into module-specific directories. All moved headers have compatibility headers which forward from the old location to the new location, together with a deprecation warning. The compatibility headers will eventually be removed.
We now enforce formatting with
clang-format
on the majority of our source files.We have added SPDX license tags to all files.
Many bugfixes.
Breaking changes¶
The
HPX_WITH_THREAD_COMPATIBILITY
option and the associated compatibility layer has been removed.The
HPX_WITH_INCLUSIVE_SCAN_COMPATIBILITY
option and the associated compatibility layer has been removed.The
HPX_WITH_UNWRAPPED_COMPATIBLITY
option and the associated compatibility layer has been removed.
Closed issues¶
Issue #4282 - Build Issues with Release on Windows
Issue #4278 - Build Issues with CMake 3.14.4
Issue #4273 - Clients of HPX 1.4.0-rc2 with APEX ar not linked to libhpx-apex
Issue #4269 - Building HPX 1.4.0-rc2 with support for APEX fails
Issue #4263 - Compilation fail on latest master
Issue #4232 - Configure of HPX project using CMake FetchContent fails
Issue #4223 - “Re-using the main() function as the main HPX entry point” doesn’t work
Issue #4220 - HPX won’t compile - error building
resource_partitioner
Issue #4215 - HPX 1.4.0rc1 does not link on s390x
Issue #4204 - Trouble compiling HPX with Intel compiler
Issue #4199 - Refactor APEX to eliminate circular dependency
Issue #4187 - HPX can’t build on OSX
Issue #4185 - Simple debug output for development
Issue #4182 -
@HPX_CONF_PREFIX@
is the empty stringIssue #4169 - HPX won’t build with APEX
Issue #4163 - Add back
HPX_LIBRARIES
andHPX_INCLUDE_DIRS
Issue #4161 - It should be possible to call
find_package(HPX)
multiple timesIssue #4155 -
get_self_id()
for stackless threads returnsinvalid_thread_id
Issue #4151 - build error with MPI code
Issue #4150 - hpx won’t build on POWER9 with clang 8
Issue #4148 -
cacheline_data
delivers poor performance with C++17 compared to C++14Issue #4144 - target general in
HPX_LIBRARIES
does not existIssue #4134 - CMake Error when
-DHPX_WITH_HPXMP=ON
Issue #4132 - parallel fill leaves elements unfilled
Issue #4123 - PAPI performance counters are inaccessible
Issue #4118 -
static_chunk_size
is not obeyed in scan algorithmsIssue #4115 - dependency chaining error with APEX
Issue #4107 - Initializing runtime without entry point function and command line arguments
Issue #4105 - Bug in
hpx:bind=numa-balanced
Issue #4101 - Bound tasks
Issue #4100 - Add SPDX identifier to all files
Issue #4085 -
hpx_topology
library should depend on hwlocIssue #4067 - HPX fails to build on macOS
Issue #4056 - Building without thread manager idle backoff fails
Issue #4052 - Enforce
clang-format
style for modulesIssue #4032 - Simple hello world fails to launch correctly
Issue #4030 - Allow threads to skip context switching
Issue #4029 - Add support for mimalloc
Issue #4005 - Can’t link HPX when APEX enabled
Issue #4002 - Missing header for algorithm module
Issue #3989 - conversion from
long
tounsigned int
requires a narrowing conversion on MSVCIssue #3958 -
/statistics/average@
perf counter can’t be createdIssue #3953 - CMake errors from
HPX_AddPseudoDependencies
Issue #3941 - CMake error for APEX install target
Issue #3940 - Convert pseudo-doxygen function documentation into actual doxygen documentation
Issue #3935 - HPX compiler match too strict?
Issue #3929 - Buildbot failures on latest HPX stable
Issue #3912 - I recommend publishing a version that does not depend on the boost library
Issue #3890 -
hpx.ini
not workingIssue #3883 - cuda compilation fails because of
-faligned-new
Issue #3879 - HPX fails to configure with
-DHPX_WITH_TESTS=OFF
Issue #3871 -
dataflow
does not support void allocatorsIssue #3867 - Latest HTML docs placed in wrong directory on GitHub pages
Issue #3866 - Make sure all tests use
HPX_TEST*
macros and notHPX_ASSERT
Issue #3857 - CMake all-keyword or all-plain for
target_link_libraries
Issue #3856 -
hpx_setup_target
adds rogue flagsIssue #3850 - HPX fails to build on POWER8 with Clang7
Issue #3848 - Remove
lva
member fromthread_init_data
Issue #3838 -
hpx::parallel::count/count_if
failing testsIssue #3651 -
hpx::parallel::transform_reduce
with non const reference as lambda parameterIssue #3560 - Apex integration with HPX not working properly
Issue #3322 - No warning when mixing debug/release builds
Closed pull requests¶
PR #4300 - Checks for
MPI_Init
being called twicePR #4299 - Small CMake fixes
PR #4298 - Remove extra call to annotate function that messes up traces
PR #4296 - Fixing collectives locking problem
PR #4295 - Do not check
LICENSE_1_0.txt
for inspect violationsPR #4293 - Applying two small changes fixing carious MSVC/Windows problems
PR #4285 - Delete
apex.hpp
PR #4276 - Disable doxygen generation for
hpx/debugging/print.hpp
filePR #4275 - Make sure APEX is linked to even when not explicitly referenced
PR #4272 - Fix pushing of documentation
PR #4271 - Updating APEX tag, don’t create new task_wrapper on
operator=
of hpx_thread objectPR #4268 - Testing for noexcept function specializations in C++11/14 mode
PR #4267 - Fixing MSVC warning
PR #4266 - Make sure macOS Travis CI fails if build step fails
PR #4264 - Clean up compatibility header options
PR #4262 - Cleanup modules
CMakeLists.txt
PR #4261 - Fixing HPX/APEX linking and dependencies for external projects like Phylanx
PR #4260 - Fix docs compilation problems
PR #4258 - Couple of minor changes
PR #4257 - Fix apex annotation for async dispatch
PR #4256 - Remove lambdas from assert expressions
PR #4255 - Ignoring lock in
all_to_all
andall_reduce
PR #4254 - Adding action specializations for noexcept functions
PR #4253 - Move
partlit.hpp
to affinity modulePR #4252 - Make mismatching build types a hard error in CMake
PR #4249 - Scheduler improvement
PR #4248 - update hpxmp tag to v0.3.0
PR #4245 - Adding high performance channels
PR #4244 - Ignore lock in ignore_while_locked_1485 test
PR #4243 - Fix PAPI command line option documentation
PR #4242 - Ignore lock in target_distribution_policy
PR #4241 - Fix
start_stop_callbacks
testPR #4240 - Mostly fix clang CUDA compilation
PR #4238 - Google Season of Docs updates to documentation; grammar edits.
PR #4237 - fixing annotated task to use the name, not the desc
PR #4236 - Move module print summary to modules
PR #4235 - Don’t use alignas in
cache_{aligned,line}_data
PR #4234 - Add basic overview sentence to all modules
PR #4230 - Add OS X builds to Travis CI
PR #4229 - Remove leftover queue compatibility checks
PR #4226 - Fixing APEX shutdown by explicitly shutting down throttling
PR #4225 - Allow
CMAKE_INSTALL_PREFIX
to be a relative pathPR #4224 - Deprecate verbs parcelport
PR #4222 - Update
register_{thread,work}
namespacesPR #4221 - Changing
HPX_GCC_VERSION
check from70000
to70300
PR #4218 - Google Season of Docs updates to documentation; grammar edits.
PR #4217 - Google Season of Docs updates to documentation; grammar edits.
PR #4216 - Fixing gcc warning on 32bit platforms (integer truncation)
PR #4214 - Apex callback refactoring
PR #4213 - Clean up allocator checks for dependent projects
PR #4212 - Google Season of Docs updates to documentation; grammar edits.
PR #4211 - Google Season of Docs updates to documentation; contributing to hpx
PR #4210 - Attempting to fix Intel compilation
PR #4209 - Fix CUDA 10 build
PR #4205 - Making sure that differences in
CMAKE_BUILD_TYPE
are not reported on multi-configuration cmake generatorsPR #4203 - Deprecate Vc
PR #4202 - Fix CUDA configuration
PR #4200 - Making sure
hpx_wrap
is not passed on to linker on non-Linux systemsPR #4198 - Fix
execution_agent.cpp
compilation with GCC 5PR #4197 - Remove deprecated options for 1.4.0 release
PR #4196 - minor fixes for building on OSX Darwin
PR #4195 - Use full clone on CircleCI for pushing stable tag
PR #4193 - Add scheduling hints to hello_world_distributed
PR #4192 - Set up CUDA in HPXConfig.cmake
PR #4191 - Export allocators root variables
PR #4190 - Don’t use
constexpr
inthread_data
with GCC <= 6PR #4189 - Only use
quick_exit
if availablePR #4188 - Google Season of Docs updates to documentation; writing single node hpx applications
PR #4186 - correct vc to cuda in cuda cmake
PR #4184 - Resetting some cached variables to make sure those are re-filled
PR #4183 - Fix
hpxcxx
configurationPR #4181 - Rename base libraries var
PR #4180 - Move header left behind earlier to plugin module
PR #4179 - Moving
zip_iterator
andtransform_iterator
to iterator_support modulePR #4178 - Move checkpointing support to its own module
PR #4177 - Small const fix to
basic_execution
modulePR #4176 - Add back
HPX_LIBRARIES
and friends toHPXConfig.cmake
PR #4175 - Make Vc public and add it to
HPXConfig.cmake
PR #4173 - Wait for runtime to be running before returning from hpx::start
PR #4172 - More protection against shutdown problems in error handling scenarios.
PR #4171 - Ignore lock in
condition_variable::wait
PR #4170 - Adding APEX dependency to MPI parcelport
PR #4168 - Adding utility include
PR #4167 - Add a condition to setup the external libraries
PR #4166 - Add an
INTERNAL_FLAGS
option to link tohpx_internal_flags
PR #4165 - Forward
HPX_*
cmake cache variables to external projectsPR #4164 - Affinity and batch environment modules
PR #4162 - Handle
quick exit
PR #4160 - Using
target_link_libraries
for cmake versions >= 3.12PR #4159 - Make sure
HPX_WITH_NATIVE_TLS
is forwarded to dependent projectsPR #4158 - Adding allocator imported target as a dependency of allocator module
PR #4157 - Add
hpx_memory
as a dependency of parcelport pluginsPR #4156 - Stackless coroutines now can refer to themselves (through get_self() and friends)
PR #4154 - Added CMake policy CMP0060 for HPX applications.
PR #4153 - add header
iomanip
to tests and toolPR #4152 - Casting MPI tag value
PR #4149 - Add back private
m_desc
member variable in program_options modulePR #4147 - Resource partitioner and threadmanager modules
PR #4146 - Google Season of Docs updates to documentation; creating hpx projects
PR #4145 - Adding basic support for stackless threads
PR #4143 - Exclude
test_client_1950
from all targetPR #4142 - Add a new
thread_pool_executor
PR #4140 - Google Season of Docs updates to documentation; why hpx
PR #4139 - Remove runtime includes from coroutines module
PR #4138 - Forking
boost::intrusive_ptr
and adding it ashpx::intrusive_ptr
PR #4137 - Fixing TSS destruction
PR #4136 - HPX.Compute modules
PR #4133 - Fix
block_executor
PR #4131 - Applying fixes based on reports from PVS Studio
PR #4130 - Adding missing header to build system
PR #4129 - Fixing compilation if
HPX_WITH_DATAPAR_VC
is enabledPR #4128 - Renaming
moveonly_any
tounique_any
PR #4126 - Attempt to fix
basic_any
constructor for gcc 7PR #4125 - Changing
extra_archive_data
implementationPR #4124 - Don’t link to Boost.System unless required
PR #4122 - Add kernel launch helper utility (+saxpy demo) and merge in octotiger changes
PR #4121 - Fixing migration test if networking is disabled.
PR #4120 - Google Season of Docs updates to documentation; hpx build system v1
PR #4119 - Making sure
chunk_size
andmax_chunk
are actually applied to parallel algorithms if specifiedPR #4117 - Make CircleCI formatting check store diff
PR #4116 - Fix automatically setting C++ standard
PR #4114 - Module serialization
PR #4113 - Module datastructures
PR #4111 - Fixing performance regression introduced earlier
PR #4110 - Adding missing SPDX tags
PR #4109 - Overload for start without entry point/argv.
PR #4108 - Making sure C++ standard is properly detected and propagated
PR #4106 - use
std::round
for guaranteed rounding without errorsPR #4104 - Extend
scheduler_mode
with newwork_stealing
and task assignment modesPR #4103 - Add this to lambda capture list
PR #4102 - Add spdx license and check
PR #4099 - Module coroutines
PR #4098 - Fix append module path in module CMakeLists template
PR #4097 - Function tests
PR #4096 - Removing return of
thread_result_type
from functions not needing themPR #4095 - Stop-gap measure until cmake overhaul is in place
PR #4094 - Deprecate
HPX_WITH_MORE_THAN_64_THREADS
PR #4093 - Fix initialization of
global_num_tasks
inparallel_executor
PR #4092 - Add support for mi-malloc
PR #4090 - Execution context
PR #4089 - Make counters in coroutines optional
PR #4087 - Making
hpx::util::any
compatible with C++17PR #4084 - Making sure destination array for
std::transform
is properly resizedPR #4083 - Adapting
thread_queue_mc
to behave even if no 128bit atomics are availablePR #4082 - Fix compilation on GCC 5
PR #4081 - Adding option allowing to force using Boost.FileSystem
PR #4080 - Updating module dependencies
PR #4079 - Add missing tests for iterator_support module
PR #4078 - Disable parcel-layer if networking is disabled
PR #4077 - Add missing include that causes build fails
PR #4076 - Enable compatibility headers for functional module
PR #4075 - Coroutines module
PR #4073 - Use
configure_file
for generated files in modulesPR #4071 - Fixing MPI detection for PMIx
PR #4070 - Fix macOS builds
PR #4069 - Moving more facilities to the collectives module
PR #4068 - Adding main HPX
#include
directory to modulesPR #4066 - Switching the use of
message(STATUS "...")
to hpx_infoPR #4065 - Move Boost.Filesystem handling to filesystem module
PR #4064 - Fix program_options test with older boost versions
PR #4062 - The
cpu_features
tool fails to compile on anything but x86 architecturesPR #4061 - Add
clang-format
checking step for modulesPR #4060 - Making sure
HPX_IDLE_BACKOFF_TIME_MAX
is always defined (even if its unused)PR #4059 - Renaming module
hpx_parallel_executors
intohpx_execution
PR #4058 - Do not build networking tests when networking disabled
PR #4057 - Printing configuration summary for modules as well
PR #4055 - Google Season of Docs updates to documentation; hpx build systems
PR #4054 - Add troubleshooting section to manual
PR #4051 - Add more variations to
future_overhead
testPR #4050 - Creating plugin module
PR #4049 - Move missing modules tests
PR #4047 - Add boost/filesystem headers to inspect deprecated headers
PR #4045 - Module functional
PR #4043 - Fix preconditions and error messages for suspension functions
PR #4041 - Pass HPX_STANDARD on to dependent projects via HPXConfig.cmake
PR #4040 - Program options module
PR #4039 - Moving non-serializable
any
(any_nonser
) to datastructures modulePR #4038 - Adding MPark’s variant (V1.4.0) to HPX
PR #4037 - Adding resiliency module
PR #4036 - Add C++17 filesystem compatibility header
PR #4035 - Fixing support for mpirun
PR #4028 - CMake to target based directives
PR #4027 - Remove GitLab CI configuration
PR #4026 - Threading refactoring
PR #4025 - Refactoring thread queue configuration options
PR #4024 - Fix padding calculation in
cache_aligned_data.hpp
PR #4023 - Fixing Codacy issues
PR #4022 - Make sure process mask option is passed to
affinity_data
PR #4021 - Warn about compiling in C++11 mode
PR #4020 - Module concurrency
PR #4019 - Module topology
PR #4018 - Update deprecated header in
thread_queue_mc.hpp
PR #4015 - Avoid overwriting artifacts
PR #4014 - Future overheads
PR #4013 - Update URL to test output conversion script
PR #4012 - Fix CUDA compilation
PR #4011 - Fixing cyclic dependencies between modules
PR #4010 - Ignore stable tag on CircleCI
PR #4009 - Check circular dependencies in a circle ci step
PR #4008 - Extend cache aligned data to handle tuple-like data
PR #4007 - Fixing migration for components that have actions returning a client
PR #4006 - Move is_value_proxy.hpp to algorithms module
PR #4004 - Shorten CTest timeout on CircleCI
PR #4003 - Refactoring to remove (internal) dependencies
PR #4001 - Exclude tests from all target
PR #4000 - Module errors
PR #3999 - Enable support for compatibility headers for logging module
PR #3998 - Add process thread binding option
PR #3997 - Export handle_assert function
PR #3996 - Attempt to solve issue where
-latomic
does not support 128bit atomicsPR #3993 - Make sure
__LINE__
is an unsignedPR #3991 - Fix dependencies and flags for header tests
PR #3990 - Documentation tags fixes
PR #3988 - Adding missing solution folder for format module test
PR #3987 - Move runtime-dependent functions out of command line handling
PR #3986 - Fix CMake configuration with PAPI on
PR #3985 - Module timing
PR #3984 - Fix default behaviour of paths in
add_hpx_component
PR #3982 - Parallel executors module
PR #3981 - Segmented algorithms module
PR #3980 - Module logging
PR #3979 - Module util
PR #3978 - Fix
clang-tidy
step on CircleCIPR #3977 - Fixing solution folders for moved components
PR #3976 - Module format
PR #3975 - Enable deprecation warnings on CircleCI
PR #3974 - Fix typos in documentation
PR #3973 - Fix compilation with GCC 9
PR #3972 - Add condition to clone apex + use of new cmake var APEX_ROOT
PR #3971 - Add testing module
PR #3968 - Remove unneeded file in hardware module
PR #3967 - Remove leftover PIC settings from main CMakeLists.txt
PR #3966 - Add missing export option in
add_hpx_module
PR #3965 - Change
current_function_helper
back to non-constexprPR #3964 - Fixing merge problems
PR #3962 - Add a trait for
std::array
for unwrappingPR #3961 - Making
hpx::util::tuple<Ts...>
andstd::tuple<Ts...>
convertiblePR #3960 - fix compilation with CUDA 10 and GCC 6
PR #3959 - Fix C++11 incompatibility
PR #3957 - Algorithms module
PR #3956 - [
HPX_AddModule
] Fix lower name var to upperPR #3955 - Fix CMake configuration with examples off and tests on
PR #3954 - Move components to separate subdirectory in root of repository
PR #3952 - Update
papi.cpp
PR #3951 - Exclude modules header tests from all target
PR #3950 - Adding
all_reduce
facility to collectives modulePR #3949 - This adds a configuration file that will cause for stale issues to be automatically closed
PR #3948 - Fixing ALPS environment
PR #3947 - Add major compiler version check for building hpx as a binary package
PR #3946 - [Modules] Move the location of the generated headers
PR #3945 - Simplify tests and examples cmake
PR #3943 - Remove example module
PR #3942 - Add
NOEXPORT
option toadd_hpx_{component,library}
PR #3938 - Use https for CDash submissions
PR #3937 - Add
HPX_WITH_BUILD_BINARY_PACKAGE
to the compiler check (refs #3935)PR #3936 - Fixing installation of binaries on windows
PR #3934 - Add set function for
sliding_semaphore
max_difference
PR #3933 - Remove
cudadevrt
from compile/link flags as it breaks downstream projectsPR #3932 - Fixing 3929
PR #3931 - Adding
all_to_all
PR #3930 - Add test demonstrating the use of broadcast with component actions
PR #3928 - fixed number of tasks and number of threads for heterogeneous slurm environments
PR #3927 - Moving Cache module’s tests into separate solution folder
PR #3926 - Move unit tests to cache module
PR #3925 - Move version check to config module
PR #3924 - Add schedule hint executor parameters
PR #3923 - Allow aligning objects bigger than the cache line size
PR #3922 - Add Windows builds with Travis CI
PR #3921 - Add ccls cache directory to gitignore
PR #3920 - Fix
git_external
fetching of tagsPR #3905 - Correct rostambod url. Fix typo in doc
PR #3904 - Fix bug in context_base.hpp
PR #3903 - Adding new performance counters
PR #3902 - Add
add_hpx_module
functionPR #3901 - Factoring out container remapping into a separate trait
PR #3900 - Making sure errors during command line processing are properly reported and will not cause assertions
PR #3899 - Remove old compatibility bases from
make_action
PR #3898 - Make parameter size be of type
size_t
PR #3897 - Making sure all tests are disabled if
HPX_WITH_TESTS=OFF
PR #3895 - Add documentation for annotated_function
PR #3894 - Working around VS2019 problem with
make_action
PR #3892 - Avoid MSVC compatibility warning in internal allocator
PR #3891 - Removal of the default intel config include
PR #3888 - Fix
async_customization
dataflow example and Clarify what’s being testedPR #3887 - Add Doxygen documentation
PR #3882 - Minor docs fixes
PR #3880 - Updating APEX version tag
PR #3878 - Making sure symbols are properly exported from modules (needed for Windows/MacOS)
PR #3877 - Documentation
PR #3876 - Module hardware
PR #3875 - Converted typedefs in actions submodule to using directives
PR #3874 - Allow one to suppress target keywords in
hpx_setup_target
for backwards compatibilityPR #3873 - Add scripts to create releases and generate lists of PRs and issues
PR #3872 - Fix latest HTML docs location
PR #3870 - Module cache
PR #3869 - Post 1.3.0 version bumps
PR #3868 - Replace the macro
HPX_ASSERT
byHPX_TEST
in testsPR #3845 - Assertion module
PR #3839 - Make tuple serialization non-intrusive
PR #3832 - Config module
PR #3799 - Remove compat namespace and its contents
PR #3701 - MoodyCamel lockfree
PR #3496 - Disabling MPI’s (deprecated) C++ interface
PR #3192 - Move type info into
hpx::debug
namespace and add print helper functionsPR #3159 - Support Checkpointing Components