1.. 2 Copyright (C) 2007-2018 Hartmut Kaiser 3 4 Distributed under the Boost Software License, Version 1.0. (See accompanying 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 7.. _hpx_1_0_0: 8 9=========================== 10|hpx| V1.0.0 (Apr 24, 2017) 11=========================== 12 13General changes 14=============== 15 16Here are some of the main highlights and changes for this release (in no 17particular order): 18 19* Added the facility ``hpx::split_future`` which allows to convert a 20 ``future<tuple<Ts...>>`` into a ``tuple<future<Ts>...>``. This functionality 21 is not available when compiling |hpx| with VS2012. 22* Added a new type of performance counter which allows to return a list of 23 values for each invocation. We also added a first counter of this type which 24 collects a histogram of the times between parcels being created. 25* Added new LCOs: ``hpx::lcos::channel`` and ``hpx::lcos::local::channel`` which 26 are very similar to the well known channel constructs used in the Go language. 27* Added new performance counters reporting the amount of data handled by the 28 networking layer on a action-by-action basis (please see :hpx-pr:`2289` for 29 more details). 30* Added a new facility ``hpx::lcos::barrier``, replacing the equally named older 31 one. The new facility has a slightly changed API and is much more efficient. 32 Most notable, the new facility exposes a (global) function 33 ``hpx::lcos::barrier::synchronize()`` which represents a global barrier across 34 all localities. 35* We have started to add support for vectorization to our parallel algorithm 36 implementations. This support depends on using an external library, currently 37 either |vc| or |boost_simd|_. Please see :hpx-issue:`2333` for a list of 38 currently supported algorithms. This is an experimental feature and its 39 implementation and/or API might change in the future. Please see this 40 `blog-post 41 <http://stellar-group.org/2016/09/vectorized-cpp-parallel-algorithms-with-hpx/>`_ 42 for more information. 43* The parameter sequence for the ``hpx::parallel::transform_reduce`` overload 44 taking one iterator range has changed to match the changes this algorithm has 45 undergone while being moved to C++17. The old overload can be still enabled at 46 configure time by specifying ``-DHPX_WITH_TRANSFORM_REDUCE_COMPATIBILITY=On`` 47 to |cmake|. 48* The algorithm ``hpx::parallel::inner_product`` has been renamed to 49 ``hpx::parallel::transform_reduce`` to match the changes this algorithm has 50 undergone while being moved to C++17. The old inner_product names can be still 51 enabled at configure time by specifying 52 ``-DHPX_WITH_TRANSFORM_REDUCE_COMPATIBILITY=On`` to |cmake|. 53* Added versions of ``hpx::get_ptr`` taking client side representations for 54 component instances as their parameter (instead of a global id). 55* Added the helper utility 56 ``hpx::performance_counters::performance_counter_set`` helping to encapsulate 57 a set of performance counters to be managed concurrently. 58* All execution policies and related classes have been renamed to be consistent 59 with the naming changes applied for C++17. All policies now live in the 60 namespace ``hpx::parallel::execution``. The ols names can be still enabled at 61 configure time by specifying ``-DHPX_WITH_EXECUTION_POLICY_COMPATIBILITY=On`` 62 to |cmake|. 63* The thread scheduling subsystem has undergone a major refactoring which 64 results in significant performance improvements. We have also imroved the 65 performance of creating ``hpx::future`` and of various facilities handling 66 those. 67* We have consolidated all of the code in HPX.Compute related to the integration 68 of CUDA. ``hpx::partitioned_vector`` has been enabled to be usable with 69 ``hpx::compute::vector`` which allows to place the partitions on one or more 70 GPU devices. 71* Added new performance counters exposing various internals of the thread 72 scheduling subsystem, such as the current idle- and busy-loop counters and 73 instantaneous scheduler utilization. 74* Extended and improved the use of the ITTNotify hooks allowing to collect 75 performance counter data and function annotation information from within the 76 Intel Amplifier tool. 77 78Breaking changes 79================ 80 81* We have dropped support for the gcc compiler versions V4.6 and 4.7. The 82 minimal gcc version we now test on is gcc V4.8. 83* We have removed (default) support for ``boost::chrono`` in interfaces, uses of 84 it have been replaced with ``std::chrono``. This facility can be still enabled 85 at configure time by specifying ``-DHPX_WITH_BOOST_CHRONO_COMPATIBILITY=On`` 86 to |cmake|. 87* The parameter sequence for the ``hpx::parallel::transform_reduce`` overload 88 taking one iterator range has changed to match the changes this algorithm has 89 undergone while being moved to C++17. 90* The algorithm ``hpx::parallel::inner_product`` has been renamed to 91 ``hpx::parallel::transform_reduce`` to match the changes this algorithm has 92 undergone while being moved to C++17. 93* the build options ``HPX_WITH_COLOCATED_BACKWARDS_COMPATIBILITY`` and 94 ``HPX_WITH_COMPONENT_GET_GID_COMPATIBILITY`` are now disabled by default. Please 95 change your code still depending on the deprecated interfaces. 96 97Bug fixes (closed tickets) 98========================== 99 100Here is a list of the important tickets we closed for this release. 101 102* :hpx-pr:`2596` - Adding apex data 103* :hpx-pr:`2595` - Remove obsolete file 104* :hpx-issue:`2594` - FindOpenCL.cmake mismatch with the official cmake module 105* :hpx-pr:`2592` - First attempt to introduce spmd_block in hpx 106* :hpx-issue:`2591` - Feature request: continuation (then) which does not 107 require the callable object to take a future<R> as parameter 108* :hpx-pr:`2588` - Daint fixes 109* :hpx-pr:`2587` - Fixing transfer_(continuation)_action::schedule 110* :hpx-pr:`2585` - Work around MSVC having an ICE when compiling with -Ob2 111* :hpx-pr:`2583` - chaning 7zip command to 7za in roll_release.sh 112* :hpx-pr:`2582` - First attempt to introduce spmd_block in hpx 113* :hpx-pr:`2581` - Enable annotated function for parallel algorithms 114* :hpx-pr:`2580` - First attempt to introduce spmd_block in hpx 115* :hpx-pr:`2579` - Make thread NICE level setting an option 116* :hpx-pr:`2578` - Implementing enqueue instead of busy wait when no sender is 117 available 118* :hpx-pr:`2577` - Retrieve -std=c++11 consistent nvcc flag 119* :hpx-pr:`2576` - Add missing dependencies of cuda based tests 120* :hpx-pr:`2575` - Remove warnings due to some captured variables 121* :hpx-pr:`2573` - Attempt to resolve resolve_locality 122* :hpx-pr:`2572` - Adding APEX hooks to background thread 123* :hpx-pr:`2571` - Pick up hpx.ignore_batch_env from config map 124* :hpx-pr:`2570` - Add commandline options --hpx:print-counters-locally 125* :hpx-pr:`2569` - Fix computeapi unit tests 126* :hpx-pr:`2567` - This adds another barrier::synchronize before registering 127 performance counters 128* :hpx-pr:`2564` - Cray static toolchain support 129* :hpx-pr:`2563` - Fixed unhandled exception during startup 130* :hpx-pr:`2562` - Remove partitioned_vector.cu from build tree when nvcc is 131 used 132* :hpx-issue:`2561` - octo-tiger crash with commit 133 6e921495ff6c26f125d62629cbaad0525f14f7ab 134* :hpx-pr:`2560` - Prevent -Wundef warnings on Vc version checks 135* :hpx-pr:`2559` - Allowing CUDA callback to set the future directly from an OS 136 thread 137* :hpx-pr:`2558` - Remove warnings due to float precisions 138* :hpx-pr:`2557` - Removing bogus handling of compile flags for CUDA 139* :hpx-pr:`2556` - Fixing scan partitioner 140* :hpx-pr:`2554` - Add more diagnostics to error thrown from 141 find_appropriate_destination 142* :hpx-issue:`2555` - No valid parcelport configured 143* :hpx-pr:`2553` - Add cmake cuda_arch option 144* :hpx-pr:`2552` - Remove incomplete datapar bindings to libflatarray 145* :hpx-pr:`2551` - Rename hwloc_topology to hwloc_topology_info 146* :hpx-pr:`2550` - Apex api updates 147* :hpx-pr:`2549` - Pre-include defines.hpp to get the macro HPX_HAVE_CUDA value 148* :hpx-pr:`2548` - Fixing issue with disconnect 149* :hpx-pr:`2546` - Some fixes around cuda clang partitioned_vector example 150* :hpx-pr:`2545` - Fix uses of the Vc2 datapar flags; the value, not the type, 151 should be passed to functions 152* :hpx-pr:`2542` - Make HPX_WITH_MALLOC easier to use 153* :hpx-pr:`2541` - avoid recompiles when enabling/disabling examples 154* :hpx-pr:`2540` - Fixing usage of target_link_libraries() 155* :hpx-pr:`2539` - fix RPATH behaviour 156* :hpx-issue:`2538` - HPX_WITH_CUDA corrupts compilation flags 157* :hpx-pr:`2537` - Add output of a Bazel Skylark extension for paths and compile 158 options 159* :hpx-pr:`2536` - Add counter exposing total available memory to Windows as 160 well 161* :hpx-pr:`2535` - Remove obsolete support for security 162* :hpx-issue:`2534` - Remove command line option ``--hpx:run-agas-server`` 163* :hpx-pr:`2533` - Pre-cache locality endpoints during bootstrap 164* :hpx-pr:`2532` - Fixing handling of GIDs during serialization preprocessing 165* :hpx-pr:`2531` - Amend uses of the term "functor" 166* :hpx-pr:`2529` - added counter for reading available memory 167* :hpx-pr:`2527` - Facilities to create actions from lambdas 168* :hpx-pr:`2526` - Updated docs: HPX_WITH_EXAMPLES 169* :hpx-pr:`2525` - Remove warnings related to unused captured variables 170* :hpx-issue:`2524` - CMAKE failed because it is missing: TCMALLOC_LIBRARY 171 TCMALLOC_INCLUDE_DIR 172* :hpx-pr:`2523` - Fixing compose_cb stack overflow 173* :hpx-pr:`2522` - Instead of unlocking, ignore the lock while creating the 174 message handler 175* :hpx-pr:`2521` - Create ``LPROGRESS_`` logging macro to simplify progress 176 tracking and timings 177* :hpx-pr:`2520` - Intel 17 support 178* :hpx-pr:`2519` - Fix components example 179* :hpx-pr:`2518` - Fixing parcel scheduling 180* :hpx-issue:`2517` - Race condition during Parcel Coalescing Handler creation 181* :hpx-issue:`2516` - HPX locks up when using at least 256 localities 182* :hpx-issue:`2515` - error: Install cannot find 183 "/lib/hpx/libparcel_coalescing.so.0.9.99" but I can see that file 184* :hpx-pr:`2514` - Making sure that all continuations of a shared_future are 185 invoked in order 186* :hpx-pr:`2513` - Fixing locks held during suspension 187* :hpx-pr:`2512` - MPI Parcelport improvements and fixes related to the 188 background work changes 189* :hpx-pr:`2511` - Fixing bit-wise (zero-copy) serialization 190* :hpx-issue:`2509` - Linking errors in hwloc_topology 191* :hpx-pr:`2508` - Added documentation for debugging with core files 192* :hpx-pr:`2506` - Fixing background work invocations 193* :hpx-pr:`2505` - Fix tuple serialization 194* :hpx-issue:`2504` - Ensure continuations are called in the order they have 195 been attached 196* :hpx-pr:`2503` - Adding serialization support for Vc v2 (datapar) 197* :hpx-pr:`2502` - Resolve various, minor compiler warnings 198* :hpx-pr:`2501` - Some other fixes around cuda examples 199* :hpx-issue:`2500` - nvcc / cuda clang issue due to a missing -DHPX_WITH_CUDA 200 flag 201* :hpx-pr:`2499` - Adding support for std::array to wait_all and friends 202* :hpx-pr:`2498` - Execute background work as HPX thread 203* :hpx-pr:`2497` - Fixing configuration options for spinlock-deadlock detection 204* :hpx-pr:`2496` - Accounting for different compilers in CrayKNL toolchain file 205* :hpx-pr:`2494` - Adding component base class which ties a component instance 206 to a given executor 207* :hpx-pr:`2493` - Enable controlling amount of pending threads which must be 208 available to allow thread stealing 209* :hpx-pr:`2492` - Adding new command line option --hpx:print-counter-reset 210* :hpx-pr:`2491` - Resolve ambiguities when compiling with APEX 211* :hpx-pr:`2490` - Resuming threads waiting on future with higher priority 212* :hpx-issue:`2489` - nvcc issue because -std=c++11 appears twice 213* :hpx-pr:`2488` - Adding performance counters exposing the internal idle and 214 busy-loop counters 215* :hpx-pr:`2487` - Allowing for plain suspend to reschedule thread right away 216* :hpx-pr:`2486` - Only flag HPX code for CUDA if HPX_WITH_CUDA is set 217* :hpx-pr:`2485` - Making thread-queue parameters runtime-configurable 218* :hpx-pr:`2484` - Added atomic counter for parcel-destinations 219* :hpx-pr:`2483` - Added priority-queue lifo scheduler 220* :hpx-pr:`2482` - Changing scheduler to steal only if more than a minimal 221 number of tasks are available 222* :hpx-pr:`2481` - Extending command line option --hpx:print-counter-destination 223 to support value 'none' 224* :hpx-pr:`2479` - Added option to disable signal handler 225* :hpx-pr:`2478` - Making sure the sine performance counter module gets loaded 226 only for the corresponding example 227* :hpx-issue:`2477` - Breaking at a throw statement 228* :hpx-pr:`2476` - Annotated function 229* :hpx-pr:`2475` - Ensure that using %osthread% during logging will not throw 230 for non-hpx threads 231* :hpx-pr:`2474` - Remove now superficial non_direct actions from base_lco and 232 friends 233* :hpx-pr:`2473` - Refining support for ITTNotify 234* :hpx-pr:`2472` - Some fixes around hpx compute 235* :hpx-issue:`2470` - redefinition of boost::detail::spinlock 236* :hpx-issue:`2469` - Dataflow performance issue 237* :hpx-pr:`2468` - Perf docs update 238* :hpx-pr:`2466` - Guarantee to execute remote direct actions on HPX-thread 239* :hpx-pr:`2465` - Improve demo : Async copy and fixed device handling 240* :hpx-pr:`2464` - Adding performance counter exposing instantaneous scheduler 241 utilization 242* :hpx-pr:`2463` - Downcast to future<void> 243* :hpx-pr:`2462` - Fixed usage of ITT-Notify API with Intel Amplifier 244* :hpx-pr:`2461` - Cublas demo 245* :hpx-pr:`2460` - Fixing thread bindings 246* :hpx-pr:`2459` - Make -std=c++11 nvcc flag consistent for in-build and 247 installed versions 248* :hpx-issue:`2457` - Segmentation fault when registering a partitioned vector 249* :hpx-pr:`2452` - Properly releasing global barrier for unhandled exceptions 250* :hpx-pr:`2451` - Fixing long shutdown times 251* :hpx-pr:`2450` - Attempting to fix initialization errors on newer platforms 252 (Boost V1.63) 253* :hpx-pr:`2449` - Replace BOOST_COMPILER_FENCE with an HPX version 254* :hpx-pr:`2448` - This fixes a possible race in the migration code 255* :hpx-pr:`2445` - Fixing dataflow et.al. for futures or future-ranges wrapped 256 into ref() 257* :hpx-pr:`2444` - Fix segfaults 258* :hpx-pr:`2443` - Issue 2442 259* :hpx-issue:`2442` - Mismatch between #if/#endif and namespace scope brackets 260 in this_thread_executers.hpp 261* :hpx-issue:`2441` - undeclared identifier BOOST_COMPILER_FENCE 262* :hpx-pr:`2440` - Knl build 263* :hpx-pr:`2438` - Datapar backend 264* :hpx-pr:`2437` - Adapt algorithm parameter sequence changes from C++17 265* :hpx-pr:`2436` - Adapt execution policy name changes from C++17 266* :hpx-issue:`2435` - Trunk broken, undefined reference to 267 hpx::thread::interrupt(hpx::thread::id, bool) 268* :hpx-pr:`2434` - More fixes to resource manager 269* :hpx-pr:`2433` - Added versions of ``hpx::get_ptr`` taking client side 270 representations 271* :hpx-pr:`2432` - Warning fixes 272* :hpx-pr:`2431` - Adding facility representing set of performance counters 273* :hpx-pr:`2430` - Fix parallel_executor thread spawning 274* :hpx-pr:`2429` - Fix attribute warning for gcc 275* :hpx-issue:`2427` - Seg fault running octo-tiger with latest HPX commit 276* :hpx-issue:`2426` - Bug in 9592f5c0bc29806fce0dbe73f35b6ca7e027edcb causes 277 immediate crash in Octo-tiger 278* :hpx-pr:`2425` - Fix nvcc errors due to constexpr specifier 279* :hpx-issue:`2424` - Async action on component present on hpx::find_here is 280 executing synchronously 281* :hpx-pr:`2423` - Fix nvcc errors due to constexpr specifier 282* :hpx-pr:`2422` - Implementing hpx::this_thread thread data functions 283* :hpx-pr:`2421` - Adding benchmark for wait_all 284* :hpx-issue:`2420` - Returning object of a component client from another 285 component action fails 286* :hpx-pr:`2419` - Infiniband parcelport 287* :hpx-issue:`2418` - gcc + nvcc fails to compile code that uses 288 partitioned_vector 289* :hpx-pr:`2417` - Fixing context switching 290* :hpx-pr:`2416` - Adding fixes and workarounds to allow compilation with 291 nvcc/msvc (VS2015up3) 292* :hpx-pr:`2415` - Fix errors coming from hpx compute examples 293* :hpx-pr:`2414` - Fixing msvc12 294* :hpx-pr:`2413` - Enable cuda/nvcc or cuda/clang when using 295 add_hpx_executable() 296* :hpx-pr:`2412` - Fix issue in HPX_SetupTarget.cmake when cuda is used 297* :hpx-pr:`2411` - This fixes the core compilation issues with MSVC12 298* :hpx-issue:`2410` - ``undefined reference to opal_hwloc191_hwloc_.....`` 299* :hpx-pr:`2409` - Fixing locking for channel and receive_buffer 300* :hpx-pr:`2407` - Solving #2402 and #2403 301* :hpx-pr:`2406` - Improve guards 302* :hpx-pr:`2405` - Enable parallel::for_each for iterators returning proxy types 303* :hpx-pr:`2404` - Forward the explicitly given result_type in the hpx invoke 304* :hpx-issue:`2403` - datapar_execution + zip iterator: lambda arguments aren't 305 references 306* :hpx-issue:`2402` - datapar algorithm instantiated with wrong type #2402 307* :hpx-pr:`2401` - Added support for imported libraries to HPX_Libraries.cmake 308* :hpx-pr:`2400` - Use CMake policy CMP0060 309* :hpx-issue:`2399` - Error trying to push back vector of futures to vector 310* :hpx-pr:`2398` - Allow config #defines to be written out to custom 311 config/defines.hpp 312* :hpx-issue:`2397` - CMake generated config defines can cause tedious rebuilds 313 category 314* :hpx-issue:`2396` - BOOST_ROOT paths are not used at link time 315* :hpx-pr:`2395` - Fix target_link_libraries() issue when HPX Cuda is enabled 316* :hpx-issue:`2394` - Template compilation error using 317 HPX_WITH_DATAPAR_LIBFLATARRAY 318* :hpx-pr:`2393` - Fixing lock registration for recursive mutex 319* :hpx-pr:`2392` - Add keywords in target_link_libraries in hpx_setup_target 320* :hpx-pr:`2391` - Clang goroutines 321* :hpx-issue:`2390` - Adapt execution policy name changes from C++17 322* :hpx-pr:`2389` - Chunk allocator and pool are not used and are obsolete 323* :hpx-pr:`2388` - Adding functionalities to datapar needed by octotiger 324* :hpx-pr:`2387` - Fixing race condition for early parcels 325* :hpx-issue:`2386` - Lock registration broken for recursive_mutex 326* :hpx-pr:`2385` - Datapar zip iterator 327* :hpx-pr:`2384` - Fixing race condition in for_loop_reduction 328* :hpx-pr:`2383` - Continuations 329* :hpx-pr:`2382` - add LibFlatArray-based backend for datapar 330* :hpx-pr:`2381` - remove unused typedef to get rid of compiler warnings 331* :hpx-pr:`2380` - Tau cleanup 332* :hpx-pr:`2379` - Can send immediate 333* :hpx-pr:`2378` - Renaming copy_helper/copy_n_helper/move_helper/move_n_helper 334* :hpx-issue:`2376` - Boost trunk's spinlock initializer fails to compile 335* :hpx-pr:`2375` - Add support for minimal thread local data 336* :hpx-pr:`2374` - Adding API functions set_config_entry_callback 337* :hpx-pr:`2373` - Add a simple utility for debugging that gives supended task 338 backtraces 339* :hpx-pr:`2372` - Barrier Fixes 340* :hpx-issue:`2370` - Can't wait on a wrapped future 341* :hpx-pr:`2369` - Fixing stable_partition 342* :hpx-pr:`2367` - Fixing find_prefixes for Windows platforms 343* :hpx-pr:`2366` - Testing for experimental/optional only in C++14 mode 344* :hpx-pr:`2364` - Adding set_config_entry 345* :hpx-pr:`2363` - Fix papi 346* :hpx-pr:`2362` - Adding missing macros for new non-direct actions 347* :hpx-pr:`2361` - Improve cmake output to help debug compiler incompatibility 348 check 349* :hpx-pr:`2360` - Fixing race condition in condition_variable 350* :hpx-pr:`2359` - Fixing shutdown when parcels are still in flight 351* :hpx-issue:`2357` - failed to insert console_print_action into 352 typename_to_id_t registry 353* :hpx-pr:`2356` - Fixing return type of get_iterator_tuple 354* :hpx-pr:`2355` - Fixing compilation against Boost 1 62 355* :hpx-pr:`2354` - Adding serialization for mask_type if CPU_COUNT > 64 356* :hpx-pr:`2353` - Adding hooks to tie in APEX into the parcel layer 357* :hpx-issue:`2352` - Compile errors when using intel 17 beta (for KNL) on 358 edison 359* :hpx-pr:`2351` - Fix function vtable get_function_address implementation 360* :hpx-issue:`2350` - Build failure - master branch (4de09f5) with Intel 361 Compiler v17 362* :hpx-pr:`2349` - Enabling zero-copy serialization support for std::vector<> 363* :hpx-pr:`2348` - Adding test to verify #2334 is fixed 364* :hpx-pr:`2347` - Bug fixes for hpx.compute and hpx::lcos::channel 365* :hpx-pr:`2346` - Removing cmake "find" files that are in the APEX cmake 366 Modules 367* :hpx-pr:`2345` - Implemented parallel::stable_partition 368* :hpx-pr:`2344` - Making hpx::lcos::channel usable with basename registration 369* :hpx-pr:`2343` - Fix a couple of examples that failed to compile after recent 370 api changes 371* :hpx-issue:`2342` - Enabling APEX causes link errors 372* :hpx-pr:`2341` - Removing cmake "find" files that are in the APEX cmake 373 Modules 374* :hpx-pr:`2340` - Implemented all existing datapar algorithms using Boost.SIMD 375* :hpx-pr:`2339` - Fixing 2338 376* :hpx-pr:`2338` - Possible race in sliding semaphore 377* :hpx-pr:`2337` - Adjust osu_latency test to measure window_size parcels in 378 flight at once 379* :hpx-pr:`2336` - Allowing remote direct actions to be executed without 380 spawning a task 381* :hpx-pr:`2335` - Making sure multiple components are properly initialized from 382 arguments 383* :hpx-issue:`2334` - Cannot construct component with large vector on a remote 384 locality 385* :hpx-pr:`2332` - Fixing hpx::lcos::local::barrier 386* :hpx-pr:`2331` - Updating APEX support to include OTF2 387* :hpx-pr:`2330` - Support for data-parallelism for parallel algorithms 388* :hpx-issue:`2329` - Coordinate settings in cmake 389* :hpx-pr:`2328` - fix LibGeoDecomp builds with HPX + GCC 5.3.0 + CUDA 8RC 390* :hpx-pr:`2326` - Making scan_partitioner work (for now) 391* :hpx-issue:`2323` - Constructing a vector of components only correctly 392 initializes the first component 393* :hpx-pr:`2322` - Fix problems that bubbled up after merging #2278 394* :hpx-pr:`2321` - Scalable barrier 395* :hpx-pr:`2320` - Std flag fixes 396* :hpx-issue:`2319` - -std=c++14 and -std=c++1y with Intel can't build recent 397 Boost builds due to insufficient C++14 support; don't enable these flags by 398 default for Intel 399* :hpx-pr:`2318` - Improve handling of --hpx:bind=<bind-spec> 400* :hpx-pr:`2317` - Making sure command line warnings are printed once only 401* :hpx-pr:`2316` - Fixing command line handling for default bind mode 402* :hpx-pr:`2315` - Set id_retrieved if set_id is present 403* :hpx-issue:`2314` - Warning for requested/allocated thread discrepancy is 404 printed twice 405* :hpx-issue:`2313` - --hpx:print-bind doesn't work with --hpx:pu-step 406* :hpx-issue:`2312` - --hpx:bind range specifier restrictions are overly 407 restrictive 408* :hpx-issue:`2311` - hpx_0.9.99 out of project build fails 409* :hpx-pr:`2310` - Simplify function registration 410* :hpx-pr:`2309` - Spelling and grammar revisions in documentation (and some 411 code) 412* :hpx-pr:`2306` - Correct minor typo in the documentation 413* :hpx-pr:`2305` - Cleaning up and fixing parcel coalescing 414* :hpx-pr:`2304` - Inspect checks for stream related includes 415* :hpx-pr:`2303` - Add functionality allowing to enumerate threads of given 416 state 417* :hpx-pr:`2301` - Algorithm overloads fix for VS2013 418* :hpx-pr:`2300` - Use <cstdint>, add inspect checks 419* :hpx-pr:`2299` - Replace boost::[c]ref with std::[c]ref, add inspect checks 420* :hpx-pr:`2297` - Fixing compilation with no hw_loc 421* :hpx-pr:`2296` - Hpx compute 422* :hpx-pr:`2295` - Making sure for_loop(execution::par, 0, N, ...) is actually 423 executed in parallel 424* :hpx-pr:`2294` - Throwing exceptions if the runtime is not up and running 425* :hpx-pr:`2293` - Removing unused parcel port code 426* :hpx-pr:`2292` - Refactor function vtables 427* :hpx-pr:`2291` - Fixing 2286 428* :hpx-pr:`2290` - Simplify algorithm overloads 429* :hpx-pr:`2289` - Adding performance counters reporting parcel related data on 430 a per-action basis 431* :hpx-issue:`2288` - Remove dormant parcelports 432* :hpx-issue:`2286` - adjustments to parcel handling to support parcelports that 433 do not need a connection cache 434* :hpx-pr:`2285` - add CMake option to disable package export 435* :hpx-pr:`2283` - Add more inspect checks for use of deprecated components 436* :hpx-issue:`2282` - Arithmetic exception in executor static chunker 437* :hpx-issue:`2281` - For loop doesn't parallelize 438* :hpx-pr:`2280` - Fixing 2277: build failure with PAPI 439* :hpx-pr:`2279` - Child vs parent stealing 440* :hpx-issue:`2277` - master branch build failure (53c5b4f) with papi 441* :hpx-pr:`2276` - Compile time launch policies 442* :hpx-pr:`2275` - Replace boost::chrono with std::chrono in interfaces 443* :hpx-pr:`2274` - Replace most uses of Boost.Assign with initializer list 444* :hpx-pr:`2273` - Fixed typos 445* :hpx-pr:`2272` - Inspect checks 446* :hpx-pr:`2270` - Adding test verifying -Ihpx.os_threads=all 447* :hpx-pr:`2269` - Added inspect check for now obsolete boost type traits 448* :hpx-pr:`2268` - Moving more code into source files 449* :hpx-issue:`2267` - Add inspect support to deprecate Boost.TypeTraits 450* :hpx-pr:`2265` - Adding channel LCO 451* :hpx-pr:`2264` - Make support for std::ref mandatory 452* :hpx-pr:`2263` - Constrain tuple_member forwarding constructor 453* :hpx-issue:`2262` - Test hpx.os_threads=all 454* :hpx-issue:`2261` - OS X: Error: no matching constructor for initialization of 455 'hpx::lcos::local::condition_variable_any' 456* :hpx-issue:`2260` - Make support for std::ref mandatory 457* :hpx-pr:`2259` - Remove most of Boost.MPL, Boost.EnableIf and Boost.TypeTraits 458* :hpx-pr:`2258` - Fixing #2256 459* :hpx-pr:`2257` - Fixing launch process 460* :hpx-issue:`2256` - Actions are not registered if not invoked 461* :hpx-pr:`2255` - Coalescing histogram 462* :hpx-pr:`2254` - Silence explicit initialization in copy-constructor warnings 463* :hpx-pr:`2253` - Drop support for GCC 4.6 and 4.7 464* :hpx-pr:`2252` - Prepare V1.0 465* :hpx-pr:`2251` - Convert to 0.9.99 466* :hpx-pr:`2249` - Adding iterator_facade and iterator_adaptor 467* :hpx-issue:`2248` - Need a feature to yield to a new task immediately 468* :hpx-pr:`2246` - Adding split_future 469* :hpx-pr:`2245` - Add an example for handing over a component instance to a 470 dynamically launched locality 471* :hpx-issue:`2243` - Add example demonstrating AGAS symbolic name registration 472* :hpx-issue:`2242` - pkgconfig test broken on CentOS 7 / Boost 1.61 473* :hpx-issue:`2241` - Compilation error for partitioned vector in hpx_compute 474 branch 475* :hpx-pr:`2240` - Fixing termination detection on one locality 476* :hpx-issue:`2239` - Create a new facility lcos::split_all 477* :hpx-issue:`2236` - hpx::cout vs. std::cout 478* :hpx-pr:`2232` - Implement local-only primary namespace service 479* :hpx-issue:`2147` - would like to know how much data is being routed by 480 particular actions 481* :hpx-issue:`2109` - Warning while compiling hpx 482* :hpx-issue:`1973` - Setting INTERFACE_COMPILE_OPTIONS for hpx_init in CMake 483 taints Fortran_FLAGS 484* :hpx-issue:`1864` - run_guarded using bound function ignores reference 485* :hpx-issue:`1754` - Running with TCP parcelport causes immediate crash or 486 freeze 487* :hpx-issue:`1655` - Enable zip_iterator to be used with Boost traversal 488 iterator categories 489* :hpx-issue:`1591` - Optimize AGAS for shared memory only operation 490* :hpx-issue:`1401` - Need an efficient infiniband parcelport 491* :hpx-issue:`1125` - Fix the IPC parcelport 492* :hpx-issue:`839` - Refactor ibverbs and shmem parcelport 493* :hpx-issue:`702` - Add instrumentation of parcel layer 494* :hpx-issue:`668` - Implement ispc task interface 495* :hpx-issue:`533` - Thread queue/deque internal parameters should be runtime 496 configurable 497* :hpx-issue:`475` - Create a means of combining performance counters into 498 querysets 499 500