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 string - Issue #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 times - Issue #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 perfomance with C++17 compared to C++14 - Issue #4144 - target general in
HPX_LIBRARIES
does not exist - Issue #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 algorithms - Issue #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 hwloc - Issue #4067 - HPX fails to build on macOS
- Issue #4056 - Building without thread manager idle backoff fails
- Issue #4052 - Enforce
clang-format
style for modules - Issue #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 MSVC - Issue #3958 -
/statistics/average@
perf counter can’t be created - Issue #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 working - Issue #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 allocators - Issue #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 flags - Issue #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 tests - Issue #3651 -
hpx::parallel::transform_reduce
with non const reference as lambda parameter - Issue #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 twice - PR #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 violations - PR #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
file - PR #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 object - PR #4268 - Testing for noexcept function specializations in 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 module - PR #4252 - Make mismatching build types a hard error in CMake
- PR #4249 - Scheduler improvement
- PR #4248 - update hpxmp tage 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
test - PR #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 path - PR #4224 - Deprecate verbs parcelport
- PR #4222 - Update
register_{thread,work}
namespaces - PR #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 generators - PR #4203 - Deprecate Vc
- PR #4202 - Fix CUDA configuration
- PR #4200 - Making sure
hpx_wrap
is not passed on to linker on non-Linux systems - PR #4198 - Fix
execution_agent.cpp
compilation with GCC 5 - PR #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 <= 6 - PR #4189 - Only use
quick_exit
if available - PR #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
configuration - PR #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 module - PR #4178 - Move checkpointing support to its own module
- PR #4177 - Small const fix to
basic_execution
module - PR #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 projects - PR #4164 - Affinity and batch environment modules
- PR #4162 - Handle
quick exit
- PR #4160 - Using
target_link_libraries
for cmake versions >= 3.12 - PR #4159 - Make sure
HPX_WITH_NATIVE_TLS
is forwarded to dependent projects - PR #4158 - Adding allocator imported target as a dependency of allocator module
- PR #4157 - Add
hpx_memory
as a dependency of parcelport plugins - PR #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 tool - PR #4152 - Casting MPI tag value
- PR #4149 - Add back private
m_desc
member variable in program_options module - PR #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 target - PR #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 enabled - PR #4128 - Renaming
moveonly_any
tounique_any
- PR #4126 - Attempt to fix
basic_any
constructor for gcc 7 - PR #4125 - Changing
extra_archive_data
implementation - PR #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 specified - PR #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 errors - PR #4104 - Extend
scheduler_mode
with newwork_stealing
and task assignment modes - PR #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 them - PR #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++17 - PR #4084 - Making sure destination array for
std::transform
is properly resized - PR #4083 - Adapting
thread_queue_mc
to behave even if no 128bit atomics are available - PR #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 modules - PR #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 modules - PR #4066 - Switching the use of
message(STATUS "...")
to hpx_info - PR #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 architectures - PR #4061 - Add
clang-format
checking step for modules - PR #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
test - PR #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 module - PR #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 atomics - PR #3993 - Make sure
__LINE__
is an unsigned - PR #3991 - Fix dependencies and flags for 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 CircleCI - PR #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-constexpr - PR #3964 - Fixing merge problems
- PR #3962 - Add a trait for
std::array
for unwrapping - PR #3961 - Making
hpx::util::tuple<Ts...>
andstd::tuple<Ts...>
convertible - PR #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 upper - PR #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 module - PR #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 projects - PR #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 tags - PR #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
function - PR #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 tested - PR #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 to suppress target keywords in
hpx_setup_target
for backwards compatibility - PR #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 tests - PR #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 functions - PR #3159 - Support Checkpointing Components