We have had roughly 1000 commits since the last release and we have closed
approximately 120 tickets (bugs, feature requests, etc.).
-
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.
-
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.
-
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
.
Here is a list of the important tickets we closed for this release:
-
#28 - Integrate Windows/Linux CMake code for HPX
core
-
#32 - hpx::cout() should be hpx::cout
-
#33 - AGAS V2 legacy client does not properly handle error_code
-
#60 - AGAS: allow for registerid to optionally take ownership of the
gid
-
#62 - adaptive1d compilation failure in Fusion
-
#64 - Parcel subsystem doesn't resolve domain names
-
#83 - No error handling if no console is available
-
#84 - No error handling if a hosted locality is treated as the bootstrap
server
-
#90 - Add general commandline option -N
-
#91 - Add possibility to read command line arguments from file
-
#92 - Always log exceptions/errors to the log file
-
#93 - Log the command line/program name
-
#95 - Support for distributed launches
-
#97 - Attempt to create a bad component type in AMR examples
-
#100 - factorial and factorial_get examples trigger AGAS component
type assertions
-
#101 - Segfault when hpx::process::here() is called in fibonacci2
-
#102 - unknown_component_address in int_object_semaphore_client
-
#114 - marduk raises assertion with default parameters
-
#115 - Logging messages for SMP runs (on the console) shouldn't be
buffered
-
#119 - marduk linking strategy breaks other applications
-
#121 - pbsdsh problem
-
#123 - marduk, dataflow and adaptive1d fail to build
-
#124 - Lower default preprocessing arity
-
#125 - Move hpx::detail::diagnostic_information out of the detail
namespace
-
#126 - Test definitions for AGAS reference counting
-
#128 - Add averaging performance counter
-
#129 - Error with endian.hpp while building adaptive1d
-
#130 - Bad initialization of performance counters
-
#131 - Add global startup/shutdown functions to component modules
-
#132 - Avoid using auto_ptr
-
#133 - On Windows hpx.dll doesn't get installed
-
#134 - HPX_LIBRARY does not reflect real library name (on Windows)
-
#135 - Add detection of unique_ptr to build system
-
#137 - Add command line option allowing to repeatedly evaluate performance
counters
-
#139 - Logging is broken
-
#140 - CMake problem on windows
-
#141 - Move all non-component libraries into $PREFIX/lib/hpx
-
#143 - adaptive1d throws an exception with the default command line
options
-
#146 - Early exception handling is broken
-
#147 - Sheneos doesn't link on Linux
-
#149 - sheneos_test hangs
-
#154 - Compilation fails for r5661
-
#155 - Sine performance counters example chokes on chrono headers
-
#156 - Add build type to --version
-
#157 - Extend AGAS caching to store gid ranges
-
#158 - r5691 doesn't compile
-
#160 - Re-add AGAS function for resolving a locality to its prefix
-
#168 - Managed components should be able to access their own GID
-
#169 - Rewrite AGAS future pool
-
#179 - Complete switch to request class for AGAS server interface
-
#182 - Sine performance counter is loaded by other examples
-
#185 - Write tests for symbol namespace reference counting
-
#191 - Assignment of read-only variable in point_geometry
-
#200 - Seg faults when querying performance counters
-
#204 - --ifnames and suffix stripping needs to be more generic
-
#205 - --list-* and --print-counter-* options do not work together
and produce no warning
-
#207 - Implement decrement entry merging
-
#208 - Replace the spinlocks in AGAS with hpx::lcos::local_mutexes
-
#210 - Add an --ifprefix option
-
#214 - Performance test for PX-thread creation
-
#216 - VS2010 compilation
-
#222 - r6045 context_linux_x86.hpp
-
#223 - fibonacci hangs when changing the state of an active thread
-
#225 - Active threads end up in the FEB wait queue
-
#226 - VS Build Error for Accumulator Client
-
#228 - Move all traits into namespace hpx::traits
-
#229 - Invalid initialization of reference in thread_init_data
-
#235 - Invalid GID in iostreams
-
#238 - Demangle type names for the default implementation of get_action_name
-
#241 - C++11 support breaks GCC 4.5
-
#247 - Reference to temporary with GCC 4.4
-
#248 - Seg fault at shutdown with GCC 4.4
-
#253 - Default component action registration kills compiler
-
#272 - G++ unrecognized command line option
-
#273 - quicksort example doesn't compile
-
#277 - Invalid CMake logic for Windows