logo

oneAPI Threading Building Blocks (oneTBB) documentation

  • Getting Help and Support
  • Notational Conventions
  • Introduction
  • oneTBB Benefits
  • oneTBB Developer Guide
    • Package Contents
      • Debug Versus Release Libraries
      • Scalable Memory Allocator
      • Windows*
      • Linux*
      • macOS*
    • Parallelizing Simple Loops
      • Initializing and Terminating the Library
      • parallel_for
        • Lambda Expressions
        • Automatic Chunking
        • Controlling Chunking
        • Bandwidth and Cache Affinity
        • Partitioner Summary
      • parallel_reduce
      • Advanced Example
      • Advanced Topic: Other Kinds of Iteration Spaces
    • Parallelizing Complex Loops
      • Cook Until Done: parallel_for_each
      • Working on the Assembly Line: parallel_pipeline
        • Using Circular Buffers
        • Throughput of pipeline
        • Non-Linear Pipelines
      • Summary of Loops and Pipelines
    • Parallelizing Data Flow and Dependence Graphs
      • Parallelizing Data Flow and Dependency Graphs
      • Basic Flow Graph Concepts
        • Flow Graph Basics: Graph Object
        • Flow Graph Basics: Nodes
        • Flow Graph Basics: Edges
        • Flow Graph Basics: Mapping Nodes to Tasks
        • Flow Graph Basics: Message Passing Protocol
        • Flow Graph Basics: Single-push vs. Broadcast-push
        • Flow Graph Basics: Buffering and Forwarding
        • Flow Graph Basics: Reservation
      • Graph Application Categories
        • Data Flow Graph
        • Dependence Graph
      • Predefined Node Types
      • Flow Graph Tips and Tricks
        • Flow Graph Tips for Waiting for and Destroying a Flow Graph
        • Flow Graph Tips on Making Edges
        • Flow Graph Tips on Nested Parallelism
        • Flow Graph Tips for Limiting Resource Consumption
        • Flow Graph Tips for Exception Handling and Cancellation
      • Estimating Flow Graph Performance
    • Work Isolation
    • Exceptions and Cancellation
      • Cancellation Without An Exception
      • Cancellation and Nested Parallelism
    • Containers
      • concurrent_hash_map
        • More on HashCompare
      • concurrent_vector
      • Concurrent Queue Classes
        • Iterating Over a Concurrent Queue for Debugging
        • When Not to Use Queues
      • Summary of Containers
    • Mutual Exclusion
      • Mutex Flavors
      • Reader Writer Mutexes
      • Upgrade/Downgrade
      • Lock Pathologies
    • Timing
    • Memory Allocation
      • Which Dynamic Libraries to Use
      • Configuring the Memory Allocator
      • Automatically Replacing malloc and Other C/C++ Functions for Dynamic Memory Allocation
        • Windows* OS C/C++ Dynamic Memory Interface Replacement
        • Linux* OS C/C++ Dynamic Memory Interface Replacement
    • The Task Scheduler
      • Task-Based Programming
      • When Task-Based Programming Is Inappropriate
      • Task Scheduler Summary
      • Guiding Task Scheduler Execution
    • Design Patterns
      • Agglomeration
      • Elementwise
      • Odd-Even Communication
      • Wavefront
      • Reduction
      • Divide and Conquer
      • GUI Thread
      • Non-Preemptive Priorities
      • Local Serializer
      • Fenced Data Transfer
      • Reference Counting
      • General References
    • Migrating from Threading Building Blocks (TBB)
      • Migrating from tbb::task_scheduler_init
      • Migrating from low-level task API
      • Mixing two runtimes
    • Constrained APIs
    • Appendix A Costs of Time Slicing
    • Appendix B Mixing With Other Threading Packages
    • References
  • oneTBB API Reference
    • oneapi::tbb::info namespace
    • parallel_for_each Body semantics and requirements
    • parallel_sort ranges interface extension
    • Type-specified message keys for join_node
    • task_scheduler_handle Class
    • Scalable Memory Pools
      • memory_pool
      • fixed_pool
      • memory_pool_allocator
    • Helper Functions for Expressing Graphs
      • Constructors for Flow Graph nodes
      • follows and precedes function templates
      • make_node_set function template
      • make_edges function template
    • concurrent_lru_cache
    • task_arena::constraints extensions
    • oneapi::tbb::info namespace extensions
    • task_group extensions
    • task_arena extensions
    • this_task_arena extensions
    • mutex
    • rw_mutex
    • Heterogeneous overloads for concurrent_hash_map member functions
    • The customizing mutex type for concurrent_hash_map
  • Notices and Disclaimers
Theme by the Executable Book Project

Index

Symbols | C | D | E | F | G | H | L | M | N | O | P | R | S | T | U | V

Symbols

  • ~concurrent_lru_cache (C++ function)
  • ~handle (C++ function)
  • ~mutex (C++ function)
  • ~rw_mutex (C++ function)
  • ~task_handle (C++ function)
  • ~task_scheduler_handle (C++ function)

C

  • concurrent_lru_cache (C++ function)
  • core_type (C++ member)
  • core_types (C++ function)

D

  • default_concurrency (C++ function)
  • defer (C++ function)

E

  • enqueue (C++ function), [1], [2]

F

  • finalize (C++ function), [1]
  • fixed_pool (C++ function)

G

  • get (C++ function)

H

  • handle (C++ function), [1]

L

  • lock (C++ function), [1]
  • lock_shared (C++ function)

M

  • max_concurrency (C++ member)
  • max_threads_per_core (C++ member)
  • memory_pool (C++ function)
  • memory_pool_allocator (C++ function), [1]
  • mutex (C++ function)

N

  • numa_id (C++ member)

O

  • operator bool (C++ function), [1], [2]
  • operator= (C++ function), [1], [2]
  • operator[] (C++ function)

P

  • parallel_sort (C++ function), [1]

R

  • ReaderWriterMutex::scoped_lock::is_writer (C++ function)
  • release (C++ function)
  • run (C++ function), [1]
  • run_and_wait (C++ function)
  • rw_mutex (C++ function)

S

  • scoped_lock (C++ class), [1]
  • set_core_type (C++ function)
  • set_max_concurrency (C++ function)
  • set_max_threads_per_core (C++ function)
  • set_numa_id (C++ function)

T

  • task_group (C++ function)
  • task_handle (C++ function), [1]
  • task_scheduler_handle (C++ function), [1]
  • try_lock (C++ function), [1]
  • try_lock_shared (C++ function)

U

  • unlock (C++ function), [1]
  • unlock_shared (C++ function)

V

  • value (C++ function)

By Intel
© Copyright 2022, Intel Corporation.

Cookies