Commit fe942017 by Tobias Schuele

Updated CHANGELOG.md for version 0.4.0

parent 3ad4b725
Embedded Multicore Building Blocks (EMB²) Embedded Multicore Building Blocks (EMB²)
========================================= =========================================
Version 0.4.0
-------------
### Features:
- Added C++ wrapper and tests for logging facilities
### Changes and improvements:
* Base:
- Changed assertions on user input into checks with error code return
- Improved checks and documentation in time, duration, and log
- Added exceptions when errors occur that depend on user input
- Added volatile keyword to member of internal atomic struct
- Changed spin lock implementaion to yield every 1024 spins
* MTAPI:
- Created defines for MTAPI version
- Added missing fields in mtapi_info_t structure, in particular organization ID
- Changed reporting of number of domains and nodes to "unlimited"
- Changed group deleted and task state attributes to atomic
- Enabled reuse of main thread, which is configurable via node attributes
- Set result to MTAPI_NULL on error in mtapi_group_wait_any
- Network plugin:
- Disabled adress reuse for listening socket
- Solved problem with port reuse on Linux
- Set values to zero on failure for buffer pop operations
- Improved protocol for better error handling
- Changed signaling of task completion to atomic
- Introduced tagging of operations
- Improved task cancellation support
- Changed sending of result messages to complete ones only
* Tasks:
- Added function to query the maximum number of queues
- Added function to query the task limit
- Changed initalization in the implementaion of ExecutionPolicy
- Made creation of groups and queues thread-safe as documented
* Dataflow:
- Added connection chain test
- Added connection checks in outputs
- Added check for cycles in graph
- Added default token count to network
- Changed internal exceptions to assertions
- Changed return type of operator >> to allow for connection chains
- Changed semantics of source process (emit tokens only if function returns true)
- Changed initalization so that the number of slices can now be set at runtime
- Added automatic computation of maximum number of slices
- Changed done sync to atomics
- Removed Network::Make for simpler usage
- Added Network:IsValid to check network for errors
* Containers:
- Added missing PT_ASSERT calls in hazard pointer test
* All:
- Resolved several Codesonar warnings
### Bug fixes:
* Base:
- Fixed uninitialized variables in failure cases
- Changed implementation of atomic store on Windows to ensure sequential consistency
- Fixed memory leak in test for thread-specific storage
* MTAPI:
- Fixed bug causing mtapi_task_wait to hang when a task was cancelled before it was running
- Fixed potential null pointer dereferences
- Fixed issue with AMD APP SDK in OpenCL plugin
- Fixed race condition in OpenCL plugin
* Dataflow:
- Fixed bug with global network instances in MTAPI scheduler
- Fixed initalization of input
- Fixed memory leaks
* Containers:
- Fixed uninitialized variables in test
### Build system:
- Moved MTAPI plugins to folder mtapi_plugins_c
- Removed dependency on installed OpenCL SDK, adapted test to succeed when OpenCL is unavailable
- Resolved MSVC warnings and build problem
### Documentation:
- Changed documentation to reflect that atomics are initialized to zero by default
- Improved documentation for functions without error code return
- Updated year in license headers and tutorial
- Updated documentation of spinlock implementations
- Changed encoding of COPYING.md file to UTF-8
- Adapted tutorial and examples to reflect changes to dataflow_cpp
- Revised README.md to reflect new directory structure and removed UTF8 BOM
Version 0.3.2 Version 0.3.2
------------- -------------
...@@ -63,23 +148,25 @@ Version 0.3.0 ...@@ -63,23 +148,25 @@ Version 0.3.0
------------- -------------
### Features: ### Features:
- mtapi_c: * MTAPI:
- Implemented action plugin API - Implemented action plugin API
- Implemented load balancing for distributed/heterogeneous systems - Implemented load balancing for distributed/heterogeneous systems
- Implemented OpenCL action plugin - Implemented OpenCL action plugin
- Implemented network action plugin - Implemented network action plugin
- mtapi_cpp:
- Added support for distributed/heterogeneous systems - Added support for distributed/heterogeneous systems
### Changes and improvements: ### Changes and improvements:
- mtapi_c: * Base:
- Moved tick types to internal namespace and added duration typedefs
* MTAPI:
- Added multi-instance task support and test - Added multi-instance task support and test
- Improved notification of worker threads - Improved notification of worker threads
- mtapi_cpp:
- Moved interface for homogeneous systems to tasks_cpp - Moved interface for homogeneous systems to tasks_cpp
- base_cpp: * Algorithms:
- Moved tick types to internal namespace and added duration typedefs - Restricted partitioners to random access iterators
- dataflow_cpp: - Added unit tests for partitioners on large ranges
- Refactored to use tasks_cpp
* Dataflow:
- Removed spinlocks - Removed spinlocks
- Simplified registration of processes (only sources need to be added) - Simplified registration of processes (only sources need to be added)
- Increased number of task queues in unit test - Increased number of task queues in unit test
...@@ -87,10 +174,6 @@ Version 0.3.0 ...@@ -87,10 +174,6 @@ Version 0.3.0
- Improved exception handling - Improved exception handling
- Removed stray include - Removed stray include
- Refactored to use tasks_cpp - Refactored to use tasks_cpp
- algorithms_cpp:
- Restricted partitioners to random access iterators
- Added unit tests for partitioners on large ranges
- Refactored to use tasks_cpp
### Bug fixes: ### Bug fixes:
- Fixed unit test for dataflow_cpp - Fixed unit test for dataflow_cpp
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment