# Algorithms

[algorithms]

oneAPI Threading Building Blocks provides a set of generic parallel algorithms.

## Parallel Functions

- collaborative_call_once
  - collaborative_once_flag
- parallel_for
- parallel_reduce
- parallel_deterministic_reduce
- parallel_scan
  - pre_scan_tag and final_scan_tag
- parallel_for_each
  - feeder
- parallel_invoke
- parallel_pipeline
  - filter
    - filter_mode
  - flow_control
- parallel_sort

## Blocked Ranges

Types that meet the Range requirements.

- blocked_range
- blocked_range2d
- blocked_range3d
- blocked_nd_range

## Partitioners

A partitioner specifies how a loop template should partition its work among threads.

- auto_partitioner
- affinity_partitioner
- static_partitioner
- simple_partitioner

## Split Tags

- proportional split
- split