Halide 19.0.0
Halide compiler and libraries
|
#include "HalideRuntime.h"
#include "printer.h"
#include "scoped_spin_lock.h"
#include "runtime_atomics.h"
Go to the source code of this file.
Namespaces | |
namespace | Halide |
This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it. | |
namespace | Halide::Runtime |
namespace | Halide::Runtime::Internal |
namespace | Halide::Runtime::Internal::Synchronization |
Macros | |
#define | TSAN_ANNOTATIONS 0 |
Variables | |
constexpr int | Halide::Runtime::Internal::Synchronization::LOAD_FACTOR = 4 |
constexpr int | Halide::Runtime::Internal::Synchronization::HASH_TABLE_SIZE = MAX_THREADS * LOAD_FACTOR |
WEAK hash_table | Halide::Runtime::Internal::Synchronization::table |
constexpr int | Halide::Runtime::Internal::Synchronization::HASH_TABLE_BITS = 10 |
#define TSAN_ANNOTATIONS 0 |
Definition at line 34 of file synchronization_common.h.
WEAK void halide_mutex_lock | ( | struct halide_mutex * | mutex | ) |
A basic set of mutex and condition variable functions, which call platform specific code for mutual exclusion.
Equivalent to posix calls.
Definition at line 876 of file synchronization_common.h.
References Halide::Runtime::Internal::Synchronization::fast_mutex::lock().
Referenced by halide_default_do_par_for(), halide_default_do_parallel_tasks(), halide_default_semaphore_release(), halide_get_num_threads(), halide_mutex_array_lock(), halide_set_num_threads(), halide_shutdown_thread_pool(), Halide::Runtime::Internal::ScopedMutexLock::ScopedMutexLock(), Halide::Runtime::Internal::halide_cond_with_spinning::wait(), Halide::Runtime::Internal::worker_thread(), and Halide::Runtime::Internal::worker_thread_already_locked().
WEAK void halide_mutex_unlock | ( | halide_mutex * | mutex | ) |
Definition at line 882 of file synchronization_common.h.
References Halide::Runtime::Internal::Synchronization::fast_mutex::unlock().
Referenced by halide_default_do_par_for(), halide_default_do_parallel_tasks(), halide_default_semaphore_release(), halide_get_num_threads(), halide_mutex_array_unlock(), halide_set_num_threads(), halide_shutdown_thread_pool(), Halide::Runtime::Internal::halide_cond_with_spinning::wait(), Halide::Runtime::Internal::worker_thread(), Halide::Runtime::Internal::worker_thread_already_locked(), and Halide::Runtime::Internal::ScopedMutexLock::~ScopedMutexLock().
WEAK void halide_cond_broadcast | ( | struct halide_cond * | cond | ) |
Definition at line 888 of file synchronization_common.h.
References Halide::Runtime::Internal::Synchronization::fast_cond::broadcast().
Referenced by Halide::Runtime::Internal::halide_cond_with_spinning::broadcast().
WEAK void halide_cond_signal | ( | struct halide_cond * | cond | ) |
Definition at line 894 of file synchronization_common.h.
References Halide::Runtime::Internal::Synchronization::fast_cond::signal().
WEAK void halide_cond_wait | ( | struct halide_cond * | cond, |
struct halide_mutex * | mutex ) |
Definition at line 900 of file synchronization_common.h.
References Halide::Runtime::Internal::Synchronization::fast_cond::wait().
Referenced by Halide::Runtime::Internal::halide_cond_with_spinning::wait().
WEAK halide_mutex_array * halide_mutex_array_create | ( | uint64_t | sz | ) |
Definition at line 913 of file synchronization_common.h.
References halide_mutex_array::array, halide_free(), halide_malloc(), and memset().
WEAK void halide_mutex_array_destroy | ( | void * | user_context, |
void * | array ) |
Definition at line 933 of file synchronization_common.h.
References halide_mutex_array::array, halide_free(), and user_context.
WEAK int halide_mutex_array_lock | ( | struct halide_mutex_array * | array, |
int | entry ) |
Definition at line 939 of file synchronization_common.h.
References halide_mutex_array::array, halide_error_code_success, and halide_mutex_lock().
WEAK int halide_mutex_array_unlock | ( | struct halide_mutex_array * | array, |
int | entry ) |
Definition at line 944 of file synchronization_common.h.
References halide_mutex_array::array, halide_error_code_success, and halide_mutex_unlock().