Changes (w.r.t. Intel TBB 2017 Update 2):
- Added support for Android* 7.0 and Android* NDK r13, r13b.
- Added template class gfx_factory to the flow graph API. It implements
the Factory concept for streaming_node to offload computations to
Intel(R) processor graphics.
- Fixed a possible deadlock caused by missed wakeup signals in
Heterogeneous TBB (flow graph promotion):
If I am NOT setting a soft heap limit with scalable_allocation_mode (TBBMALLOC_SET_SOFT_HEAP_LIMIT, <size>) what is the default limit id there is one? And when does TBB actually start cleaning up its internal buffers? I am using TBB 4.4.5
The following code does not finish (mostly on my system). Am I doing something I shouldn't do? (i.e. invoking parallel_for while holding a lock) I think if parallel_for is invoked while all the other workers are blocked, the parallel_for routine should be executed single-threaded but it seems like this is not what's happening...
I'm using the concurrent_lru_cache and generally like it, but it appears that there is no possibility for the callback function to fail: operator allocates a new bucket and calls the function that produce the value if is_new_value_needed() returns true.
So far, so good, but what if the function fails? It cannot throw an exception as any other thread waiting on that cache slot will now spin forever.
I compiled the latest libtbb (also tbbmalloc and tbbmalloc_proxy) with VS2013 on Win10 x64 in Unicode mode. It failed with several errors, such as "const char* type is not compatible with const unicode_char_t*" in line 632 proxy.cpp. I just wound why macro _T or _TEXT was not used to realize unicode support, or you can just use char* and functions appended with 'A' to avoid these problems. By the way, a semicolon missed in line 601 proxy.cpp.
Would you, please, add the following to build/linux.inc in tbb?
ifeq ($(arch),s390x) def_prefix = lin64 endif
This addition would let us build for that 64-bit platform in Fedora without patching tbb. Thank you.