Releases: siemens/embb
Releases · siemens/embb
EMBB 1.0.0
Features:
- Added support for heterogeneous systems in algorithms and dataflow
- Added ForLoop function for parallel index-based loops
- Added extension for MTAPI callback functions
- Added job and task attributes for scheduling based on problem size
- Added functions to retrieve context for OpenCL and CUDA plugins
Changes and improvements:
- Added support for atomic operations provided by C11/C++11
- Optimized spinlock implementation
- Added default constructors for Group and Queue
- Added test for exceptions in mtapi_cpp
- Added initialization of affinity in execution policy constructors
- Added initialization of user_data pointer in task attributes
- Corrected return code for cancelled task in network plugin
- Improved error handling in MTAPI CPP interface
- Enabled reuse of main thread by default
- Added explicit finalization of allocated elements in MTAPI pool
- Removed spinlock from dataflow
- Added initialization of clock listeners in dataflow
- Changed dataflow so that sources are run within slice group
- Changed iterators in containers to return pairs and added documentation
- Added iterators to value pools and changed destruction of elements in object pools
- Added initializers in unit tests
- Resolved Coverity Scan warnings
- Resolved warning when compiling with GCC 7.1
Bug fixes:
- Fixed resource leak in unit test for pool
- Fixed potential resource leak and remote task cancel handling in network plugin
- Fixed MTAPI_CPP affinity test on single-core machines
- Fixed handling of task error conditions encountered during execution
- Fixed wrong allocation size in MTAPI C implementation
- Fixed possible overflow in unit test for algorithms
- Fixed problem in unit test where mutex could be destroyed while still being locked
Build system:
- Added option for generating shared libraries
- Added CMake package finder and use-script for integration of EMB² in applications
- Added output for all options in CMake build script
- Integrated Coverity Scan into Travis CI builds
- Fixed linker problem with CUDA plugin
- Fixed script that creates tarball and zip file
- Updated .travis.yml
Documentation:
- Added sample application (video processing)
- Revised tutorial and converted to markdown format
- Included generation of HTML and EPUB files (in addition to PDF)
- Added example for CUDA plugin
- Improved Doxygen documentation
- Extended CONTRIBUTING file
- Updated README file
- Updated year in license headers
- Fixed typos
EMBB 0.5.0
Features:
- Enhanced C++ interfaces for MTAPI task handling
- CUDA plugin for MTAPI task scheduler (experimental)
- Added support for worker thread priorities
- Added support for task priorities and affinities in dataflow_cpp
Changes and improvements:
- Introduced threading analysis mode and added mutex-based atomics
- Reduced number of test iterations in threading analysis mode
- Replaced spinlocks with mutexes in threading analysis mode
- Added initialization and destroy methods for atomics
- Added initialization checks in debug mode for atomics
- Resolved AppVerifier warnings
- Added counter reset function
- Removed double initializations of counters
- Removed deletion of resources in timeout scenario
- Improved portability on POSIX systems
- Added big endian support for MTAPI attributes
- Removed legacy group constructor in MTAPI
- Resolved potential integer overflows on 32-bit targets
- Added missing <sys/select.h>, removed inclusion of <memory.h>
- Removed separate storage for internal task queues
- Removed spinlock workaround
- Resolved issue with Visual Studio 2012
- Removed unnecessary value copy
- Removed tasks_cpp component
- Switched C style cast to C++ style cast in containers_cpp
- Resolved problem with non-monotonic time readings and timeouts
- Moved processing of sources in dataflow_cpp to worker threads
- Added setter to enable main thread reuse
- Added functionality to start function objects directly as tasks
- Added tests for dataflow_cpp with and without main thread reuse
- Added test for detached tasks
- Added test to reproduce out-of-order execution of queued task when waiting for other tasks
- Improved tests for base_cpp, mtapi_cpp, containers_cpp, dataflow_cpp
Bug fixes:
- Fixed Pthread API error reported by helgrind
- Fixed bug where notification of action was missing when a task finished
- Fixed bug causing ordered queue to be deleted before last task finished
- Fixed problem with network plugin and removed dead code
- Fixed problem with mtapi_action_delete which was not blocking until all associtated tasks were completely deleted
- Fixed race condition in task handling
- Fixed incomplete initialization with user provided NodeAttributes
- Fixed problem with ordered queues where tasks were executed out of order while waiting
- Fixed behavior of retained tasks
- Fixed bug in handling of canceled tasks causing the network test to hang
- Fixed handling of detached tasks in conjunction with retaining queues and multi-instance tasks
- Fixed automatic initialization in mtapi_cpp
- Fixed handling of tasks executed during a wait operation
- Fixed deletion of detached tasks
- Fixed bug in MTAPI scheduler related to dataflow_cpp
Build system:
- Performed analysis using AppVerifier
- Fixed path problems in tarball and zip creation
- Added creation of zip release files
- Added message if documentation build is enabled but Doxygen is not found
- Updated Travis CI integration
- Fixed build on FreeBSD
- Added installation of PDB files in Visual Studio debug builds
- Added missing install directive for config header
- Resolved warning in hazard pointer implementation
- Changed CMake scripts (caching of install prefix)
Documentation:
- Revised and updated README.md
- Added CONTRIBUTING.md
- Improved examples for mtapi_cpp
- Updated and extended Doxygen documentation
- Updated license headers in MTAPI plugin sources
EMBB 0.4.0
Features:
- Added consistency checking functionality to dataflow
- Added C++ wrapper for base_c logging functions
- Reworked dataflow_cpp interface for easier usage
Changes and improvements:
- Improved network plugin with better error checking and task cancellation support
- Revised dataflow_cpp so that network token count can now be set at runtime
- Added automatic determination of token count to dataflow_cpp
- Added checks for NULL pointers in C interface functions
- Extended mtapi_info_t to conform to the standard
- Fixed CodeSonar warnings across the code base
- Changed spinlock implementation to yield every 1024 spins now
- Changed asserts on interface visible parameters to execeptions
- Enabled reuse of main thread, which is configurable via node attributes
Bug fixes:
- Fixed problem causing low performance on the Jetson TK1 board
- Fixed bug in mtapi_c causing a task wait to hang
- Fixes issue with the AMD APP SDK in the OpenCL plugin
- Fixed problem with automatic initialization in tasks_cpp
- Fixed memory leaks in tests
Build system:
- Removed dependency on an installed OpenCL SDK
- Moved all MTAPI plugins into folder mtapi_plugins_c
- Resolved MSVC warnings and build problem
Documentation:
- Updated README to reflect new directory structure
- Updated Doxygen documentation of dataflow_cpp for the improved interface
- Updated tutorial and examples to show the usage of dataflow_cpp
EMBB 0.3.2
Features:
- Added central spinlock implementation for C/C++ and removed existing (decentral) ones
Changes and improvements:
- Reworked and optimized hazard pointer implementation
- Adjusted interfaces of value pool and object pool
- Replaced C style casts
Bug fixes:
- Fixed ordering of destruction and deallocation in value pool
- Fixed potential use of uninitialized memory in WaitFreeArrayValuePool and LockFreeTreeValuePool
Build system:
- Given user the ability to append compiler flags
- Let Cmake return an error on Doxygen warnings when WARNINGS_ARE_ERRORS is enabled
- Fixed cpplint warnings
Documentation:
- Added mutex concept
- Corrected library ordering/names in README (section "Using the Library")
- Improved exception messages
- Fixed typos in condition_var_test.cc
EMBB 0.3.1
v0.3.1 EMBB v0.3.1
EMBB 0.3.0
EMBB 0.3.0
EMBB 0.2.3
EMBB 0.2.3
EMBB 0.2.2
EMBB 0.2.2
EMBB 0.2.1
v0.2.1 EMBB 0.2.1
EMBB 0.2.0
Initial Release of EMBB