* Add use-FORTIFY_SOURCE-from-distribution.patch and use FS settings from distribution
(we use either =2 or =3).
* Since C++17, parallel algorithms and Flow Graph nodes are allowed to accept
pointers to the member functions and member objects as the user-provided
callables.
* Added missed member functions, such as assignment operators and swap function,
to the concurrent_queue and concurrent_bounded_queue containers.
OBS-URL: https://build.opensuse.org/request/show/1101791
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=87
- Update to v2021.8.0
* Fixed oneapi::tbb::concurrent_bounded_queue::pop return type (GitHub* #807).
* Fixed oneapi::tbb::concurrent_queue and oneapi::tbb::concurrent_bounded_queue
with non-default constructible value types (GitHub* #885).
* Fixed incorrect splitting of iteration space in case there is no
support for proportional splitting in custom ranges.
- Add patch to link against libatomic where necessary
* add-cmake-check-for-libatomic-requirement-when-build.patch
- Drop 5cb212d44732947396abdd39eae1229c7cd51644.patch, merged upstream
- Use correct changelog entries for v2021.7.0
* Memory allocator crash when allocating ~1TB on 64-bit systems (GitHub* #838).
* Thread Distribution over NUMA Nodes on Windows OS systems.
* For oneapi::tbb::suspend it is now guaranteed that the user-specified
callable object is executed by the calling thread.
OBS-URL: https://build.opensuse.org/request/show/1055995
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=81
- update to v2021.7.0:
* Memory allocator crash on a system with an incomplete /proc/meminfo
(GitHub* #584).
* Incorrect blocking of task stealing (GitHub* #478).
* Hang due to incorrect decrement of a limiter_node (GitHub* #634).
* Memory corruption in some rare cases when passing big messages in a flow
graph (GitHub* #639).
* Possible deadlock in a throwable flow graph node with a lightweight
policy. The lightweight policy is now ignored for functors that can
throw exceptions (GitHub* #420).
* Crash when obtaining a range from empty ordered and unordered containers
(GitHub* #641).
* Deadlock in a concurrent_vector resize() that could happen when the new
size is less than the previous size (GitHub* #733).
OBS-URL: https://build.opensuse.org/request/show/1042203
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=79
- update to 2021.6.0:
* Improved support and use of the latest C++ standards for parallel_sort that
allows using this algorithm with user-defined and standard library-defined
objects with modern semantics.
* The following features are now fully functional: task_arena extensions,
collaborative_call_once, adaptive mutexes, heterogeneous overloads for
concurrent_hash_map, and task_scheduler_handle.
* Added support for Windows* Server 2022 and Python 3.10.
* Memory allocator crash on a system with an incomplete /proc/meminfo
* Incorrect blocking of task stealing
* Hang due to incorrect decrement of a limiter_node
* Memory corruption in some rare cases when passing big messages in a flow graph
* Possible deadlock in a throwable flow graph node with a lightweight policy.
The lightweight policy is now ignored for functors that can throw
exceptions
* Crash when obtaining a range from empty ordered and unordered containers
* Deadlock in a concurrent_vector resize() that could happen when the new
size is less than the previous size
- drop tbb-pr609-32bit-mwaitpkg.patch (upstream)
- add 5cb212d44732947396abdd39eae1229c7cd51644.patch, 917.patch:
build on riscv64, hppa, s390x
OBS-URL: https://build.opensuse.org/request/show/1005775
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=77
- update to 2021.1.5:
* Reworked synchronization mechanism to reduce contention when multiple
task_arena’s are used concurrently.
* Fixed sporadic memory corruption.
* Enabled Microsoft Visual Studio* 2022 and Python 3.9 support.
* Extended task_group interface with a new run_and_wait overload to accept
task_handle.
* Fixed possible correctness issue in queuing_rw_mutex on non-Intel platforms.
* Fixed sporadic memory corruption.
OBS-URL: https://build.opensuse.org/request/show/975530
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=73
- Rework the building of python bindings
* Fix egg info version
* Remove shebang lines
* fix lining issue by setting TBBROOT and tbbvars in install phase
* Run python tests with irml library built (but not installed)
* Build bindings packages for all existing python3 flavors
gh#openSUSE/python-rpm-macros#66
BTW this also fixes the SLE_12 build, if anyone cares
OBS-URL: https://build.opensuse.org/request/show/858632
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=68
* Cross-allocator copying constructor and copy assignment operator
for concurrent_vector are deprecated.
* Added input_node to the flow graph API. It acts like a source_node
except for being inactive by default; source_node is deprecated.
* Allocator template parameter for flow graph nodes is deprecated. Set
TBB_DEPRECATED_FLOW_NODE_ALLOCATOR to 1 to avoid compilation errors.
* Flow graph preview hetero-features are deprecated.
* Fixed the task affinity mechanism to prevent unlimited memory
consumption in case the number of threads is explicitly decreased.
* Fixed memory leak related NUMA support functionality in task_arena.
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=64
* Multiple APIs are deprecated. For details, please see
Deprecated Features appendix in the TBB reference manual.
* Added C++17 deduction guides for flow graph nodes.
Preview Features
* Added isolated_task_group class that allows multiple threads to add
and execute tasks sharing the same isolation.
* Extended the flow graph API to simplify connecting nodes.
* Added erase() by heterogeneous keys for concurrent ordered containers.
* Added a possibility to suspend task execution at a specific point
and resume it later.
Bugs fixed
* Fixed the emplace() method of concurrent unordered containers to
destroy a temporary element that was not inserted.
* Fixed a bug in the merge() method of concurrent unordered
containers.
* Fixed behavior of a continue_node that follows buffering nodes.
* Added support for move-only types to tbb::parallel_pipeline
* Fixed detection of clang version when CUDA toolkit is installed
- Refresh patches:
* cmake-remove-include-path.patch
* disable-irml.patch
* optflags.patch
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=59
* Added TBBMALLOC_SET_HUGE_SIZE_THRESHOLD parameter to set the
lower bound for allocations that are not released back to OS
unless a cleanup is explicitly requested.
* Added zip_iterator::base() method to get the tuple of underlying
iterators.
* Improved async_node to never block a thread that sends a message
through its gateway.
* Extended decrement port of the tbb::flow::limiter_node to accept
messages of integral types.
* Removed the number_of_decrement_predecessors parameter from the
constructor of flow::limiter_node. To allow its usage, set
TBB_DEPRECATED_LIMITER_NODE_CONSTRUCTOR macro to 1.
* Added ordered associative containers:
concurrent_{map,multimap,set,multiset} (requires C++11).
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=55
* Added support for enqueuing tbb::task into tbb::task_arena
(https://github.com/01org/tbb/issues/116).
* Improved support for allocator propagation on concurrent_hash_map
assigning and swapping.
* Improved scalable_allocation_command cleanup operations to release
more memory buffered by the calling thread.
* Separated allocation of small and large objects into distinct memory
regions, which helps to reduce excessive memory caching inside the
TBB allocator.
- Disable python2 support
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=53
* Now fully supports this_task_arena::isolate() function.
* Parallel STL, an implementation of the C++ standard library
algorithms with support for execution policies, has been
introduced.
* Fixed a bug preventing use of streaming_node and opencl_node
with Clang.
* Fixed this_task_arena::isolate() function to work correctly
with parallel_invoke and parallel_do algorithms.
* Fixed a memory leak in composite_node.
* Fixed an assertion failure in debug tbbmalloc binaries when
TBBMALLOC_CLEAN_ALL_BUFFERS is used.
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=33
* Added support for C++11 move semantics in parallel_do.
* Constructors for many classes, including graph nodes, concurrent
containers, thread-local containers, etc., are declared explicit
and cannot be used for implicit conversions anymore.
* Added a workaround for bug 16657 in the GNU C Library (glibc)
affecting the debug version of tbb::mutex.
* Fixed a crash in pool_identify() called for an object allocated in
another thread.
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=25
* Added template class gfx_factory to the flow graph API. It
implements the Factory concept for streaming_node to offload
computations to Intel processor graphics.
* Fixed a possible deadlock caused by missed wakeup signals in
task_arena::execute().
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=23
* static_partitioner class is now a fully supported feature.
* async_node class is now a fully supported feature.
* For 64-bit platforms, quadrupled the worst-case limit on the amount
of memory the Intel TBB allocator can handle.
* Added TBB_USE_GLIBCXX_VERSION macro to specify the version of GNU
libstdc++ when it cannot be properly recognized, e.g. when used
with Clang on Linux* OS. Inspired by a contribution from David A.
* Added graph/stereo example to demostrate tbb::flow::async_msg.
* Removed a few cases of excessive user data copying in the flow graph.
* Reworked split_node to eliminate unnecessary overheads.
* Added support for C++11 move semantics to the argument of
tbb::parallel_do_feeder::add() method.
* Added C++11 move constructor and assignment operator to
tbb::combinable template class.
* Added tbb::this_task_arena::max_concurrency() function and
max_concurrency() method of class task_arena returning the maximal
number of threads that can work inside an arena.
* Deprecated tbb::task_arena::current_thread_index() static method;
use tbb::this_task_arena::current_thread_index() function instead.
- License changed to Apache-2.0
- Please see included CHANGES file for all changes.
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=19
* Added a Python module which is able to replace Python's thread pool
class with the implementation based on Intel TBB task scheduler.
* Fixed the implementation of 64-bit tbb::atomic for IA-32 architecture
to work correctly with GCC 5.2 in C++11/14 mode.
* Fixed a possible crash when tasks with affinity (e.g. specified via
affinity_partitioner) are used simultaneously with task priority
changes.
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=13