Intel® oneAPI Threading Building Blocks (oneTBB)
  • Getting Help and Support
  • Notational Conventions
  • Introduction
  • oneTBB Benefits
  • oneTBB Developer Guide
    • Package Contents
    • Parallelizing Simple Loops
    • Parallelizing Complex Loops
    • Parallelizing Data Flow and Dependence Graphs
      • Parallelizing Data Flow and Dependency Graphs
      • Basic Flow Graph Concepts
      • Graph Application Categories
      • Predefined Node Types
      • Flow Graph Tips and Tricks
      • Estimating Flow Graph Performance
    • Work Isolation
    • Exceptions and Cancellation
    • Floating-point Settings
    • Containers
    • Mutual Exclusion
    • Timing
    • Memory Allocation
    • The Task Scheduler
    • Design Patterns
    • Migrating from Threading Building Blocks (TBB)
    • Constrained APIs
    • Invoke a Callable Object
    • Appendix A Costs of Time Slicing
    • Appendix B Mixing With Other Threading Packages
    • References
  • oneTBB API Reference
  • Notices and Disclaimers
Intel® oneAPI Threading Building Blocks (oneTBB)
  • oneTBB Developer Guide
  • Parallelizing Data Flow and Dependence Graphs
  • View page source

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
      • Always Use wait_for_all()
      • Avoid Dynamic Node Removal
      • Destroying Graphs That Run Outside the Main Thread
    • Flow Graph Tips on Making Edges
      • Use make_edge and remove_edge
      • Sending to One or Multiple Successors
      • Communication Between Graphs
      • Using input_node
      • Avoiding Data Races
    • Flow Graph Tips on Nested Parallelism
      • Use Nested Algorithms to Increase Scalability
      • Use Nested Flow Graphs
    • Flow Graph Tips for Limiting Resource Consumption
      • Using limiter_node
      • Use Concurrency Limits
      • Create a Token-Based System
      • Attach Flow Graph to an Arbitrary Task Arena
        • Guiding Task Scheduler Execution
        • Work Isolation
    • Flow Graph Tips for Exception Handling and Cancellation
      • Catching Exceptions Inside the Node that Throws the Exception
      • Cancel a Graph Explicitly
      • Use graph::reset() to Reset a Canceled Graph
      • Canceling Nested Parallelism
  • Estimating Flow Graph Performance
Previous Next

© Copyright 2024, Intel Corporation.

Built with Sphinx using a theme provided by Read the Docs.