Expand description
Advanced parallel processing and scheduling
This module provides comprehensive parallel processing capabilities including:
- Work-stealing scheduler for efficient thread utilization
- Custom partitioning strategies for different data distributions
- Nested parallelism with controlled resource usage
- Load balancing and adaptive scheduling
Structs§
- Cloneable
Task - CloneableTask for simple function-based tasks
- Data
Partitioner - Partitioner for dividing data based on distribution characteristics
- Load
Balancer - Load balancer for runtime adjustment of partitions
- Nested
Config - Configuration for nested parallel execution
- Nested
Context - Context for nested parallel execution
- Nested
Scope - Nested parallel execution scope
- Parallel
Task - ParallelTask for executing tasks in parallel with work stealing
- Partitioner
Config - Configuration for the partitioner
- Resource
Limits - Resource limits for nested parallelism
- Resource
Manager - Global resource manager for tracking system-wide resource usage
- Resource
Usage Stats - Resource usage statistics
- Scheduler
Config - Work-stealing scheduler configuration
- Scheduler
Config Builder - Builder for scheduler configuration
- Scheduler
Stats - Work-stealing scheduler statistics
- Task
Handle - Task handle for tracking task status
- Work
Stealing Scheduler - Work-stealing scheduler
Enums§
- Data
Distribution - Data distribution types that affect partitioning strategy
- Nested
Policy - Policy for handling nested parallelism
- Partition
Strategy - Partitioning strategy for dividing work among threads
- Scheduling
Policy - Task scheduling policy
- Task
Priority - Task priority levels
- Task
Status - Task status
Traits§
Functions§
- adaptive_
par_ for_ each - Adaptive parallel execution based on nesting level
- adaptive_
par_ map - Adaptive parallel map based on nesting level
- create_
work_ stealing_ scheduler - Create a new work-stealing scheduler with default configuration
- create_
work_ stealing_ scheduler_ with_ workers - Create a new work-stealing scheduler with the specified number of workers
- current_
nesting_ level - Get the current nesting level
- get_
workerid - Get the worker ID for the current thread
- is_
nested_ parallelism_ allowed - Check if nested parallelism is allowed at the current level
- nested_
scope - Execute a function with nested parallelism support
- nested_
scope_ with_ limits - Execute a function with nested parallelism support and custom limits
- with_
nested_ policy - Execute with specific nested parallelism policy