Intel® oneAPI Threading Building Blocks Developer Guide and API Reference
Preview Features
[preview_features]
A preview feature is a component of oneTBB introduced to gather early feedback from users.
The key properties of a preview feature are:
It is off by default and must be explicitly enabled.
It aims to provide high implementation quality.
There is no guarantee of future existence or compatibility.
It may have limited or no support in tools such as correctness analyzers, profilers, and debuggers.
ABI compatibility between translation units is guaranteed only when all are built with the same version of the library and the same set of enabled preview features.
Unless explicitly stated in a preview feature page, enable a preview feature by defining the corresponding TBB_PREVIEW_-prefixed macro before including any headers. This requirement is strict because oneTBB may be included indirectly through other headers.
Flow Graph
Feature |
Description |
Enabling macro |
|---|---|---|
Enables join_node in key-matching mode to obtain keys directly from message types. |
TBB_PREVIEW_FLOW_GRAPH_FEATURES |
|
Adds make_edges, make_node_set, follows, and precedes helper functions for building graphs. |
TBB_PREVIEW_FLOW_GRAPH_FEATURES |
|
Adds try_put_and_wait to submit a message and wait only for its associated work to complete. |
TBB_PREVIEW_FLOW_GRAPH_TRY_PUT_AND_WAIT |
|
Coordinates node access to limited shared resources via resource_limiter and resource_limited_node. |
TBB_PREVIEW_FLOW_GRAPH_RESOURCE_LIMITING |
Task Scheduler
Feature |
Description |
Enabling macro |
|---|---|---|
Allows a task_group task body to return a task_handle to run next (scheduler bypass). |
TBB_PREVIEW_TASK_GROUP_EXTENSIONS |
|
Adds task_completion_handle to track completion of a submitted task_group task. |
TBB_PREVIEW_TASK_GROUP_EXTENSIONS |
|
Lets tasks add dependencies dynamically while a task_group runs. |
TBB_PREVIEW_TASK_GROUP_EXTENSIONS |
|
Adds waiting for an individual task_group task through its handle. |
TBB_PREVIEW_TASK_GROUP_EXTENSIONS |
|
Adds core-type constraints to task_arena for hybrid-CPU systems. |
TBB_PREVIEW_TASK_ARENA_CORE_TYPE_SELECTOR |
Containers
Feature |
Description |
Enabling macro |
|---|---|---|
Adds concurrent_lru_cache class for Least Recently Used cache with concurrent operations. |
TBB_PREVIEW_CONCURRENT_LRU_CACHE |
|
Adds a template parameter to choose the reader-writer mutex type for concurrent_hash_map. |
TBB_PREVIEW_CONCURRENT_HASH_MAP_EXTENSIONS |
Memory Allocation
Feature |
Description |
Enabling macro |
|---|---|---|
Provides memory_pool and fixed_pool classes for scalable pooled allocation. |
TBB_PREVIEW_MEMORY_POOL |
|
Allocates memory interleaved across NUMA nodes. |
TBB_PREVIEW_NUMA_ALLOCATION |