Halide 22.0.0 Halide compiler and libraries

Loading...
Searching...
No Matches
Classes | Functions | Variables
Halide::Runtime::Internal::Synchronization Namespace Reference

## Classes
struct | broadcast_parking_control
struct | bucket_pair
class | fast_cond
class | fast_mutex
struct | hash_bucket
struct | hash_table
struct | mutex_parking_control
struct | parking_control
struct | queue_data
struct | signal_parking_control
class | spin_control
struct | validate_action
struct | wait_parking_control
class | word_lock
struct | word_lock_queue_data

## Functions
WEAK hash_bucket & | lock_bucket (uintptr_t addr)
WEAK bucket_pair | lock_bucket_pair (uintptr_t addr_from, uintptr_t addr_to)
WEAK void | unlock_bucket_pair (bucket_pair &buckets)

## Variables
constexpr int | LOAD_FACTOR = 4
constexpr int | HASH_TABLE_SIZE = MAX_THREADS * LOAD_FACTOR
WEAK hash_table | table
constexpr int | HASH_TABLE_BITS = 10

## Function Documentation

## ◆ lock_bucket()

WEAK hash_bucket & Halide::Runtime::Internal::Synchronization::lock_bucket | ( | uintptr_t | addr | ) |

Definition at line 354 of file synchronization_common.h.

References Halide::Runtime::Internal::Synchronization::hash_table::buckets, Halide::cast(), halide_debug_assert, HASH_TABLE_SIZE, and table.

Referenced by Halide::Runtime::Internal::Synchronization::parking_control::park(), and Halide::Runtime::Internal::Synchronization::parking_control::unpark_one().

## ◆ lock_bucket_pair()

WEAK bucket_pair Halide::Runtime::Internal::Synchronization::lock_bucket_pair | ( | uintptr_t | addr_from,
|  | uintptr_t | addr_to
| ) |  |

Definition at line 376 of file synchronization_common.h.

References Halide::Runtime::Internal::Synchronization::hash_table::buckets, Halide::cast(), halide_debug_assert, HASH_TABLE_SIZE, Halide::Runtime::Internal::Synchronization::word_lock::lock(), Halide::Runtime::Internal::Synchronization::hash_bucket::mutex, and table.

Referenced by Halide::Runtime::Internal::Synchronization::parking_control::unpark_requeue().

## ◆ unlock_bucket_pair()

WEAK void Halide::Runtime::Internal::Synchronization::unlock_bucket_pair | ( | bucket_pair & | buckets | ) |

Definition at line 405 of file synchronization_common.h.

References Halide::Runtime::Internal::Synchronization::bucket_pair::from, Halide::Runtime::Internal::Synchronization::hash_bucket::mutex, Halide::Runtime::Internal::Synchronization::bucket_pair::to, and Halide::Runtime::Internal::Synchronization::word_lock::unlock().

Referenced by Halide::Runtime::Internal::Synchronization::parking_control::unpark_requeue().

## Variable Documentation

## ◆ LOAD_FACTOR

constexpr int Halide::Runtime::Internal::Synchronization::LOAD_FACTOR = 4
| constexpr

Definition at line 312 of file synchronization_common.h.

## ◆ HASH_TABLE_SIZE

constexpr int Halide::Runtime::Internal::Synchronization::HASH_TABLE_SIZE = MAX_THREADS * LOAD_FACTOR
| constexpr

Definition at line 321 of file synchronization_common.h.

Referenced by lock_bucket(), and lock_bucket_pair().

## ◆ table

WEAK hash_table Halide::Runtime::Internal::Synchronization::table

Definition at line 325 of file synchronization_common.h.

Referenced by lock_bucket(), and lock_bucket_pair().

## ◆ HASH_TABLE_BITS

constexpr int Halide::Runtime::Internal::Synchronization::HASH_TABLE_BITS = 10
| constexpr

Definition at line 327 of file synchronization_common.h.