Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Restructuring What's New sections in the docs (just moving things aro…
…und) - this reduces the potential for merge conflicts during releases
- Loading branch information
Showing
18 changed files
with
4,407 additions
and
4,314 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
[/============================================================================== | ||
Copyright (C) 2007-2018 Hartmut Kaiser | ||
|
||
Distributed under the Boost Software License, Version 1.0. (See accompanying | ||
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||
===============================================================================/] | ||
|
||
[/////////////////////////////////////////////////////////////////////////////] | ||
[section:hpx_0_7_0 __hpx__ V0.7.0 (Dec 12, 2011)] | ||
|
||
We have had roughly 1000 commits since the last release and we have closed | ||
approximately 120 tickets (bugs, feature requests, etc.). | ||
|
||
[heading General Changes] | ||
|
||
* Completely removed code related to deprecated AGAS V1, started to work on | ||
AGAS V2.1. | ||
* Started to clean up and streamline the exposed APIs (see 'API changes' below | ||
for more details). | ||
* Revamped and unified performance counter framework, added a lot of new | ||
performance counter instances for monitoring of a diverse set of internal | ||
__hpx__ parameters (queue lengths, access statistics, etc.). | ||
* Improved general error handling and logging support. | ||
* Fixed several race conditions, improved overall stability, decreased memory | ||
footprint, improved overall performance (major optimizations include native | ||
TLS support and ranged-based AGAS caching). | ||
* Added support for running __hpx__ applications with PBS. | ||
* Many updates to the build system, added support for gcc 4.5.x and 4.6.x, | ||
added C++11 support. | ||
* Many updates to default command line options. | ||
* Added many tests, set up buildbot for continuous integration testing. | ||
* Better shutdown handling of distributed applications. | ||
|
||
[heading Example Applications] | ||
|
||
* quickstart/factorial and quickstart/fibonacci, future-recursive parallel | ||
algorithms. | ||
* quickstart/hello_world, distributed hello world example. | ||
* quickstart/rma, simple remote memory access example | ||
* quickstart/quicksort, parallel quicksort implementation. | ||
* gtc, gyrokinetic torodial code. | ||
* bfs, breadth-first-search, example code for a graph application. | ||
* sheneos, partitioning of large data sets. | ||
* accumulator, simple component example. | ||
* balancing/os_thread_num, balancing/px_thread_phase, examples demonstrating | ||
load balancing and work stealing. | ||
|
||
[heading API Changes] | ||
|
||
* Added `hpx::find_all_localities`. | ||
* Added `hpx::terminate` for non-graceful termination of applications. | ||
* Added `hpx::lcos::async` functions for simpler asynchronous programming. | ||
* Added new AGAS interface for handling of symbolic namespace (`hpx::agas::*`). | ||
* Renamed `hpx::components::wait` to `hpx::lcos::wait`. | ||
* Renamed `hpx::lcos::future_value` to `hpx::lcos::promise`. | ||
* Renamed `hpx::lcos::recursive_mutex` to `hpx::lcos::local_recursive_mutex`, | ||
`hpx::lcos::mutex` to `hpx::lcos::local_mutex` | ||
* Removed support for Boost versions older than V1.38, recommended Boost version | ||
is now V1.47 and newer. | ||
* Removed `hpx::process` (this will be replaced by a real process implementation | ||
in the future). | ||
* Removed non-functional LCO code (`hpx::lcos::dataflow`, `hpx::lcos::thunk`, | ||
`hpx::lcos::dataflow_variable`). | ||
* Removed deprecated `hpx::naming::full_address`. | ||
|
||
[heading Bug Fixes (Closed Tickets)] | ||
|
||
Here is a list of the important tickets we closed for this release: | ||
|
||
* [issue 28] - Integrate Windows/Linux CMake code for __hpx__ core | ||
* [issue 32] - hpx::cout() should be hpx::cout | ||
* [issue 33] - AGAS V2 legacy client does not properly handle error_code | ||
* [issue 60] - AGAS: allow for registerid to optionally take ownership of the gid | ||
* [issue 62] - adaptive1d compilation failure in Fusion | ||
* [issue 64] - Parcel subsystem doesn't resolve domain names | ||
* [issue 83] - No error handling if no console is available | ||
* [issue 84] - No error handling if a hosted locality is treated as the bootstrap server | ||
* [issue 90] - Add general commandline option -N | ||
* [issue 91] - Add possibility to read command line arguments from file | ||
* [issue 92] - Always log exceptions/errors to the log file | ||
* [issue 93] - Log the command line/program name | ||
* [issue 95] - Support for distributed launches | ||
* [issue 97] - Attempt to create a bad component type in AMR examples | ||
* [issue 100] - factorial and factorial_get examples trigger AGAS component type assertions | ||
* [issue 101] - Segfault when hpx::process::here() is called in fibonacci2 | ||
* [issue 102] - unknown_component_address in int_object_semaphore_client | ||
* [issue 114] - marduk raises assertion with default parameters | ||
* [issue 115] - Logging messages for SMP runs (on the console) shouldn't be buffered | ||
* [issue 119] - marduk linking strategy breaks other applications | ||
* [issue 121] - pbsdsh problem | ||
* [issue 123] - marduk, dataflow and adaptive1d fail to build | ||
* [issue 124] - Lower default preprocessing arity | ||
* [issue 125] - Move hpx::detail::diagnostic_information out of the detail namespace | ||
* [issue 126] - Test definitions for AGAS reference counting | ||
* [issue 128] - Add averaging performance counter | ||
* [issue 129] - Error with endian.hpp while building adaptive1d | ||
* [issue 130] - Bad initialization of performance counters | ||
* [issue 131] - Add global startup/shutdown functions to component modules | ||
* [issue 132] - Avoid using auto_ptr | ||
* [issue 133] - On Windows hpx.dll doesn't get installed | ||
* [issue 134] - HPX_LIBRARY does not reflect real library name (on Windows) | ||
* [issue 135] - Add detection of unique_ptr to build system | ||
* [issue 137] - Add command line option allowing to repeatedly evaluate performance counters | ||
* [issue 139] - Logging is broken | ||
* [issue 140] - CMake problem on windows | ||
* [issue 141] - Move all non-component libraries into $PREFIX/lib/hpx | ||
* [issue 143] - adaptive1d throws an exception with the default command line options | ||
* [issue 146] - Early exception handling is broken | ||
* [issue 147] - Sheneos doesn't link on Linux | ||
* [issue 149] - sheneos_test hangs | ||
* [issue 154] - Compilation fails for r5661 | ||
* [issue 155] - Sine performance counters example chokes on chrono headers | ||
* [issue 156] - Add build type to --version | ||
* [issue 157] - Extend AGAS caching to store gid ranges | ||
* [issue 158] - r5691 doesn't compile | ||
* [issue 160] - Re-add AGAS function for resolving a locality to its prefix | ||
* [issue 168] - Managed components should be able to access their own GID | ||
* [issue 169] - Rewrite AGAS future pool | ||
* [issue 179] - Complete switch to request class for AGAS server interface | ||
* [issue 182] - Sine performance counter is loaded by other examples | ||
* [issue 185] - Write tests for symbol namespace reference counting | ||
* [issue 191] - Assignment of read-only variable in point_geometry | ||
* [issue 200] - Seg faults when querying performance counters | ||
* [issue 204] - --ifnames and suffix stripping needs to be more generic | ||
* [issue 205] - --list-* and --print-counter-* options do not work together and produce no warning | ||
* [issue 207] - Implement decrement entry merging | ||
* [issue 208] - Replace the spinlocks in AGAS with hpx::lcos::local_mutexes | ||
* [issue 210] - Add an --ifprefix option | ||
* [issue 214] - Performance test for PX-thread creation | ||
* [issue 216] - VS2010 compilation | ||
* [issue 222] - r6045 context_linux_x86.hpp | ||
* [issue 223] - fibonacci hangs when changing the state of an active thread | ||
* [issue 225] - Active threads end up in the FEB wait queue | ||
* [issue 226] - VS Build Error for Accumulator Client | ||
* [issue 228] - Move all traits into namespace hpx::traits | ||
* [issue 229] - Invalid initialization of reference in thread_init_data | ||
* [issue 235] - Invalid GID in iostreams | ||
* [issue 238] - Demangle type names for the default implementation of get_action_name | ||
* [issue 241] - C++11 support breaks GCC 4.5 | ||
* [issue 247] - Reference to temporary with GCC 4.4 | ||
* [issue 248] - Seg fault at shutdown with GCC 4.4 | ||
* [issue 253] - Default component action registration kills compiler | ||
* [issue 272] - G++ unrecognized command line option | ||
* [issue 273] - quicksort example doesn't compile | ||
* [issue 277] - Invalid CMake logic for Windows | ||
|
||
[endsect] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,167 @@ | ||
[/============================================================================== | ||
Copyright (C) 2007-2018 Hartmut Kaiser | ||
|
||
Distributed under the Boost Software License, Version 1.0. (See accompanying | ||
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||
===============================================================================/] | ||
|
||
[/////////////////////////////////////////////////////////////////////////////] | ||
[section:hpx_0_8_0 __hpx__ V0.8.0 (Mar 23, 2012)] | ||
|
||
We have had roughly 1000 commits since the last release and we have closed | ||
approximately 70 tickets (bugs, feature requests, etc.). | ||
|
||
[heading General Changes] | ||
|
||
* Improved PBS support, allowing for arbitrary naming schemes of node-hostnames. | ||
* Finished verification of the reference counting framework. | ||
* Implemented decrement merging logic to optimize the distributed reference | ||
counting system. | ||
* Restructured the LCO framework. Renamed [^hpx::lcos::eager_future<>] and | ||
[^hpx::lcos::lazy_future<>] into [classref hpx::lcos::packaged_task]`<>` and | ||
[classref hpx::lcos::deferred_packaged_task]`<>`. Split | ||
[classref hpx::lcos::promise]`<>` into [classref hpx::lcos::packaged_task]`<>` | ||
and [classref hpx::lcos::future]`<>`. Added 'local' futures | ||
(in namespace [^hpx::lcos::local]). | ||
* Improved the general performance of local and remote action invocations. | ||
This (under certain circumstances) drastically reduces the number of copies | ||
created for each of the parameters and return values. | ||
* Reworked the performance counter framework. Performance counters are now | ||
created only when needed, which reduces the overall resource requirements. | ||
The new framework allows for much more flexible creation and management | ||
of performance counters. The new sine example application demonstrates some | ||
of the capabilities of the new infrastructure. | ||
* Added a buildbot-based continuous build system which gives instant, automated | ||
feedback on each commit to SVN. | ||
* Added more automated tests to verify proper functioning of __hpx__. | ||
* Started to create documentation for __hpx__ and its API. | ||
* Added documentation toolchain to the build system. | ||
* Added dataflow LCO. | ||
* Changed default __hpx__ command line options to have [^hpx:] prefix. For | ||
instance, the former option [^--threads] is now [hpx_cmdline [^--hpx:threads]]. | ||
This has been done to make ambiguities with possible application specific | ||
command line options as unlikely as possible. See the section __commandline__ | ||
for a full list of available options. | ||
* Added the possibility to define command line aliases. The former short | ||
(one-letter) command line options have been predefined as aliases for | ||
backwards compatibility. See the section __commandline__ for a detailed | ||
description of command line option aliasing. | ||
* Network connections are now cached based on the connected host. The number of | ||
simultaneous connections to a particular host is now limited. Parcels are | ||
buffered and bundled if all connections are in use. | ||
* Added more refined thread affinity control. This is based on the external | ||
library __hwloc__. | ||
* Improved support for Windows builds with CMake. | ||
* Added support for components to register their own command line options. | ||
* Added the possibility to register custom startup/shutdown functions for | ||
any component. These functions are guaranteed to be executed by an __hpx__ | ||
thread. | ||
* Added two new experimental thread schedulers: hierarchy_scheduler and | ||
periodic_priority_scheduler. These can be activated by using the command line | ||
options [hpx_cmdline [^--hpx:queueing=hierarchy]] or | ||
[hpx_cmdline [^--hpx:queueing=periodic]]. | ||
|
||
[heading Example Applications] | ||
|
||
* [@http://www.graph500.org/ Graph500 performance benchmark] (thanks to Matthew | ||
Anderson for contributing this application). | ||
* [@http://www.nersc.gov/research-and-development/benchmarking-and-workload-characterization/nersc-6-benchmarks/gtc/ GTC (Gyrokinetic Toroidal Code)]: | ||
a skeleton for particle in cell type codes. | ||
* Random Memory Access: an example demonstrating random memory accesses in a | ||
large array | ||
* [@http://stellarcollapse.org/equationofstate ShenEOS example], demonstrating | ||
partitioning of large read-only data structures and exposing an interpolation | ||
API. | ||
* Sine performance counter demo. | ||
* Accumulator examples demonstrating how to write and use __hpx__ components. | ||
* Quickstart examples (like hello_world, fibonacci, quicksort, factorial, etc.) | ||
demonstrating simple __hpx__ concepts which introduce some of the concepts in | ||
__hpx__. | ||
* Load balancing and work stealing demos. | ||
|
||
[heading API Changes] | ||
|
||
* Moved all local LCOs into a separate namespace `hpx::lcos::local` (for | ||
instance, `hpx::lcos::local_mutex` is now [classref hpx::lcos::local::mutex]). | ||
* Replaced `hpx::actions::function` with [classref hpx::util::function]. Cleaned | ||
up related code. | ||
* Removed `hpx::traits::handle_gid` and moved handling of global reference | ||
counts into the corresponding serialization code. | ||
* Changed terminology: `prefix` is now called `locality_id`, renamed the | ||
corresponding API functions (such as `hpx::get_prefix`, which is now called | ||
`hpx::get_locality_id`). | ||
* Adding [funcref hpx::find_remote_localities]`()`, | ||
and [funcref hpx::get_num_localities]`()`. | ||
* Changed performance counter naming scheme to make it more bash friendly. | ||
The new performance counter naming scheme is now | ||
|
||
[teletype] | ||
`` | ||
/object{parentname#parentindex/instance#index}/counter#parameters | ||
`` | ||
[c++] | ||
|
||
* Added `hpx::get_worker_thread_num` replacing `hpx::threadmanager_base::get_thread_num`. | ||
* Renamed `hpx::get_num_os_threads` to `hpx::get_os_threads_count`. | ||
* Added `hpx::threads::get_thread_count`. | ||
* Restructured the Futures sub-system, renaming types in accordance with the | ||
terminology used by the C++11 ISO standard. | ||
|
||
[heading Bug Fixes (Closed Tickets)] | ||
|
||
Here is a list of the important tickets we closed for this release: | ||
|
||
* [issue 31] - Specialize handle_gid<> for examples and tests | ||
* [issue 72] - Fix AGAS reference counting | ||
* [issue 104] - heartbeat throws an exception when decrefing the performance counter it's watching | ||
* [issue 111] - throttle causes an exception on the target application | ||
* [issue 142] - One failed component loading causes an unrelated component to fail | ||
* [issue 165] - Remote exception propagation bug in AGAS reference counting test | ||
* [issue 186] - Test credit exhaustion/splitting (e.g. prepare_gid and symbol NS) | ||
* [issue 188] - Implement remaining AGAS reference counting test cases | ||
* [issue 258] - No type checking of GIDs in stubs classes | ||
* [issue 271] - Seg fault/shared pointer assertion in distributed code | ||
* [issue 281] - CMake options need descriptive text | ||
* [issue 283] - AGAS caching broken (gva_cache needs to be rewritten with ICL) | ||
* [issue 285] - HPX_INSTALL root directory not the same as CMAKE_INSTALL_PREFIX | ||
* [issue 286] - New segfault in dataflow applications | ||
* [issue 289] - Exceptions should only be logged if not handled | ||
* [issue 290] - c++11 tests failure | ||
* [issue 293] - Build target for component libraries | ||
* [issue 296] - Compilation error with Boost V1.49rc1 | ||
* [issue 298] - Illegal instructions on termination | ||
* [issue 299] - gravity aborts with multiple threads | ||
* [issue 301] - Build error with Boost trunk | ||
* [issue 303] - Logging assertion failure in distributed runs | ||
* [issue 304] - Exception 'what' strings are lost when exceptions from decode_parcel are reported | ||
* [issue 306] - Performance counter user interface issues | ||
* [issue 307] - Logging exception in distributed runs | ||
* [issue 308] - Logging deadlocks in distributed | ||
* [issue 309] - Reference counting test failures and exceptions | ||
* [issue 311] - Merge AGAS remote_interface with the runtime_support object | ||
* [issue 314] - Object tracking for id_types | ||
* [issue 315] - Remove handle_gid and handle credit splitting in id_type serialization | ||
* [issue 320] - applier::get_locality_id() should return an error value (or throw an exception) | ||
* [issue 321] - Optimization for id_types which are never split should be restored | ||
* [issue 322] - Command line processing ignored with Boost 1.47.0 | ||
* [issue 323] - Credit exhaustion causes object to stay alive | ||
* [issue 324] - Duplicate exception messages | ||
* [issue 326] - Integrate Quickbook with CMake | ||
* [issue 329] - --help and --version should still work | ||
* [issue 330] - Create pkg-config files | ||
* [issue 337] - Improve usability of performance counter timestamps | ||
* [issue 338] - Non-std exceptions deriving from std::exceptions in tfunc may be sliced | ||
* [issue 339] - Decrease the number of send_pending_parcels threads | ||
* [issue 343] - Dynamically setting the stack size doesn't work | ||
* [issue 351] - 'make install' does not update documents | ||
* [issue 353] - Disable FIXMEs in the docs by default; add a doc developer CMake option to enable FIXMEs | ||
* [issue 355] - 'make' doesn't do anything after correct configuration | ||
* [issue 356] - Don't use hpx::util::static_ in topology code | ||
* [issue 359] - Infinite recursion in hpx::tuple serialization | ||
* [issue 361] - Add compile time option to disable logging completely | ||
* [issue 364] - Installation seriously broken in r7443 | ||
|
||
[endsect] | ||
|
||
[/Proofread by:] | ||
[/Adrian Serio 3-13-12] |
Oops, something went wrong.