onetbb/2021.12.0

oneAPI Threading Building Blocks (oneTBB) lets you easily write parallel C++ programs that take full advantage of multicore performance, that are portable, composable and have future-proof scalability.
Recipe info
2024-04-19

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
onetbb/2021.12.0

Using onetbb

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
onetbb/2021.12.0
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("onetbb/2021.12.0")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): TBB
  • CMake target name(s): onetbb::onetbb
  • libtbb => TBB::tbb
    tbbmalloc => TBB::tbbmalloc
    tbbmalloc_proxy => TBB::tbbmalloc_proxy
    
  • pkg-config file name(s): tbb.pc
  • libtbb => onetbb-libtbb.pc
    tbbmalloc => onetbb-tbbmalloc.pc
    tbbmalloc_proxy => onetbb-tbbmalloc_proxy.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(TBB REQUIRED)
# ...
target_link_libraries(YOUR_TARGET onetbb::onetbb)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the onetbb homepage listed above:

#include "oneapi/tbb.h"
#include "oneapi/tbb/blocked_range.h"
#include "oneapi/tbb/blocked_range2d.h"
#include "oneapi/tbb/blocked_range3d.h"
#include "oneapi/tbb/blocked_rangeNd.h"
#include "oneapi/tbb/cache_aligned_allocator.h"
#include "oneapi/tbb/collaborative_call_once.h"
#include "oneapi/tbb/combinable.h"
#include "oneapi/tbb/concurrent_hash_map.h"
#include "oneapi/tbb/concurrent_lru_cache.h"
#include "oneapi/tbb/concurrent_map.h"
#include "oneapi/tbb/concurrent_priority_queue.h"
#include "oneapi/tbb/concurrent_queue.h"
#include "oneapi/tbb/concurrent_set.h"
#include "oneapi/tbb/concurrent_unordered_map.h"
#include "oneapi/tbb/concurrent_unordered_set.h"
#include "oneapi/tbb/concurrent_vector.h"
#include "oneapi/tbb/detail/_aggregator.h"
#include "oneapi/tbb/detail/_aligned_space.h"
#include "oneapi/tbb/detail/_allocator_traits.h"
#include "oneapi/tbb/detail/_assert.h"
#include "oneapi/tbb/detail/_attach.h"
#include "oneapi/tbb/detail/_concurrent_queue_base.h"
#include "oneapi/tbb/detail/_concurrent_skip_list.h"
#include "oneapi/tbb/detail/_concurrent_unordered_base.h"
#include "oneapi/tbb/detail/_config.h"
#include "oneapi/tbb/detail/_containers_helpers.h"
#include "oneapi/tbb/detail/_exception.h"
#include "oneapi/tbb/detail/_export.h"
#include "oneapi/tbb/detail/_flow_graph_body_impl.h"
#include "oneapi/tbb/detail/_flow_graph_cache_impl.h"
#include "oneapi/tbb/detail/_flow_graph_impl.h"
#include "oneapi/tbb/detail/_flow_graph_indexer_impl.h"
#include "oneapi/tbb/detail/_flow_graph_item_buffer_impl.h"
#include "oneapi/tbb/detail/_flow_graph_join_impl.h"
#include "oneapi/tbb/detail/_flow_graph_node_impl.h"
#include "oneapi/tbb/detail/_flow_graph_node_set_impl.h"
#include "oneapi/tbb/detail/_flow_graph_nodes_deduction.h"
#include "oneapi/tbb/detail/_flow_graph_tagged_buffer_impl.h"
#include "oneapi/tbb/detail/_flow_graph_trace_impl.h"
#include "oneapi/tbb/detail/_flow_graph_types_impl.h"
#include "oneapi/tbb/detail/_hash_compare.h"
#include "oneapi/tbb/detail/_intrusive_list_node.h"
#include "oneapi/tbb/detail/_machine.h"
#include "oneapi/tbb/detail/_mutex_common.h"
#include "oneapi/tbb/detail/_namespace_injection.h"
#include "oneapi/tbb/detail/_node_handle.h"
#include "oneapi/tbb/detail/_pipeline_filters.h"
#include "oneapi/tbb/detail/_pipeline_filters_deduction.h"
#include "oneapi/tbb/detail/_range_common.h"
#include "oneapi/tbb/detail/_rtm_mutex.h"
#include "oneapi/tbb/detail/_rtm_rw_mutex.h"
#include "oneapi/tbb/detail/_scoped_lock.h"
#include "oneapi/tbb/detail/_segment_table.h"
#include "oneapi/tbb/detail/_small_object_pool.h"
#include "oneapi/tbb/detail/_string_resource.h"
#include "oneapi/tbb/detail/_task.h"
#include "oneapi/tbb/detail/_task_handle.h"
#include "oneapi/tbb/detail/_template_helpers.h"
#include "oneapi/tbb/detail/_utils.h"
#include "oneapi/tbb/detail/_waitable_atomic.h"
#include "oneapi/tbb/enumerable_thread_specific.h"
#include "oneapi/tbb/flow_graph.h"
#include "oneapi/tbb/flow_graph_abstractions.h"
#include "oneapi/tbb/global_control.h"
#include "oneapi/tbb/info.h"
#include "oneapi/tbb/memory_pool.h"
#include "oneapi/tbb/mutex.h"
#include "oneapi/tbb/null_mutex.h"
#include "oneapi/tbb/null_rw_mutex.h"
#include "oneapi/tbb/parallel_for.h"
#include "oneapi/tbb/parallel_for_each.h"
#include "oneapi/tbb/parallel_invoke.h"
#include "oneapi/tbb/parallel_pipeline.h"
#include "oneapi/tbb/parallel_reduce.h"
#include "oneapi/tbb/parallel_scan.h"
#include "oneapi/tbb/parallel_sort.h"
#include "oneapi/tbb/partitioner.h"
#include "oneapi/tbb/profiling.h"
#include "oneapi/tbb/queuing_mutex.h"
#include "oneapi/tbb/queuing_rw_mutex.h"
#include "oneapi/tbb/rw_mutex.h"
#include "oneapi/tbb/scalable_allocator.h"
#include "oneapi/tbb/spin_mutex.h"
#include "oneapi/tbb/spin_rw_mutex.h"
#include "oneapi/tbb/task.h"
#include "oneapi/tbb/task_arena.h"
#include "oneapi/tbb/task_group.h"
#include "oneapi/tbb/task_scheduler_observer.h"
#include "oneapi/tbb/tbb_allocator.h"
#include "oneapi/tbb/tbbmalloc_proxy.h"
#include "oneapi/tbb/tick_count.h"
#include "oneapi/tbb/version.h"
#include "tbb/blocked_range.h"
#include "tbb/blocked_range2d.h"
#include "tbb/blocked_range3d.h"
#include "tbb/blocked_rangeNd.h"
#include "tbb/cache_aligned_allocator.h"
#include "tbb/collaborative_call_once.h"
#include "tbb/combinable.h"
#include "tbb/concurrent_hash_map.h"
#include "tbb/concurrent_lru_cache.h"
#include "tbb/concurrent_map.h"
#include "tbb/concurrent_priority_queue.h"
#include "tbb/concurrent_queue.h"
#include "tbb/concurrent_set.h"
#include "tbb/concurrent_unordered_map.h"
#include "tbb/concurrent_unordered_set.h"
#include "tbb/concurrent_vector.h"
#include "tbb/enumerable_thread_specific.h"
#include "tbb/flow_graph.h"
#include "tbb/flow_graph_abstractions.h"
#include "tbb/global_control.h"
#include "tbb/info.h"
#include "tbb/memory_pool.h"
#include "tbb/mutex.h"
#include "tbb/null_mutex.h"
#include "tbb/null_rw_mutex.h"
#include "tbb/parallel_for.h"
#include "tbb/parallel_for_each.h"
#include "tbb/parallel_invoke.h"
#include "tbb/parallel_pipeline.h"
#include "tbb/parallel_reduce.h"
#include "tbb/parallel_scan.h"
#include "tbb/parallel_sort.h"
#include "tbb/partitioner.h"
#include "tbb/profiling.h"
#include "tbb/queuing_mutex.h"
#include "tbb/queuing_rw_mutex.h"
#include "tbb/rw_mutex.h"
#include "tbb/scalable_allocator.h"
#include "tbb/spin_mutex.h"
#include "tbb/spin_rw_mutex.h"
#include "tbb/task.h"
#include "tbb/task_arena.h"
#include "tbb/task_group.h"
#include "tbb/task_scheduler_observer.h"
#include "tbb/tbb.h"
#include "tbb/tbb_allocator.h"
#include "tbb/tbbmalloc_proxy.h"
#include "tbb/tick_count.h"
#include "tbb/version.h"