Halide
12.0.1
Halide compiler and libraries
|
Namespaces | |
Cuda | |
Metal | |
Qurt | |
Synchronization | |
Classes | |
struct | CpuFeatures |
struct | device_copy |
struct | CacheEntry |
struct | HashMap |
struct | THashMap |
struct | ScopedMutexLock |
struct | ScopedSpinLock |
struct | work |
struct | work_queue_t |
Typedefs | |
typedef void(* | copy_value_func) (uint8_t *dst, const uint8_t *src, size_t size) |
typedef void(* | destroy_value_func) (uint8_t *value, size_t size) |
Enumerations | |
enum | PrinterType { BasicPrinter = 0 , ErrorPrinter = 1 , StringStreamPrinter = 2 } |
WEAK CpuFeatures Halide::Runtime::Internal::halide_get_cpu_features | ( | ) |
WEAK void Halide::Runtime::Internal::copy_memory_helper | ( | const device_copy & | copy, |
int | d, | ||
int64_t | src_off, | ||
int64_t | dst_off | ||
) |
Definition at line 47 of file device_buffer_utils.h.
References Halide::Runtime::Internal::device_copy::chunk_size, Halide::Runtime::Internal::device_copy::dst, Halide::Runtime::Internal::device_copy::dst_stride_bytes, Halide::Runtime::Internal::device_copy::extent, memcpy(), Halide::Runtime::Internal::device_copy::src, and Halide::Runtime::Internal::device_copy::src_stride_bytes.
Referenced by copy_memory().
WEAK void Halide::Runtime::Internal::copy_memory | ( | const device_copy & | copy, |
void * | user_context | ||
) |
Definition at line 66 of file device_buffer_utils.h.
References copy_memory_helper(), Halide::Runtime::Internal::device_copy::dst, MAX_COPY_DIMS, Halide::Runtime::Internal::device_copy::src, Halide::Runtime::Internal::device_copy::src_begin, and user_context.
WEAK device_copy Halide::Runtime::Internal::make_buffer_copy | ( | const halide_buffer_t * | src, |
bool | src_host, | ||
const halide_buffer_t * | dst, | ||
bool | dst_host | ||
) |
Definition at line 76 of file device_buffer_utils.h.
References Halide::Runtime::Internal::device_copy::chunk_size, halide_buffer_t::device, halide_buffer_t::dim, halide_buffer_t::dimensions, Halide::Runtime::Internal::device_copy::dst, dst, Halide::Runtime::Internal::device_copy::dst_stride_bytes, Halide::Runtime::Internal::device_copy::extent, halide_buffer_t::host, MAX_COPY_DIMS, halide_dimension_t::min, Halide::Runtime::Internal::device_copy::src, Halide::Runtime::Internal::device_copy::src_begin, Halide::Runtime::Internal::device_copy::src_stride_bytes, halide_dimension_t::stride, and halide_buffer_t::type.
Referenced by make_device_to_host_copy(), and make_host_to_device_copy().
WEAK device_copy Halide::Runtime::Internal::make_host_to_device_copy | ( | const halide_buffer_t * | buf | ) |
Definition at line 163 of file device_buffer_utils.h.
References buf, and make_buffer_copy().
WEAK device_copy Halide::Runtime::Internal::make_device_to_host_copy | ( | const halide_buffer_t * | buf | ) |
Definition at line 167 of file device_buffer_utils.h.
References buf, and make_buffer_copy().
ALWAYS_INLINE int64_t Halide::Runtime::Internal::calc_device_crop_byte_offset | ( | const struct halide_buffer_t * | src, |
struct halide_buffer_t * | dst | ||
) |
Definition at line 172 of file device_buffer_utils.h.
References halide_buffer_t::dim, halide_buffer_t::dimensions, dst, halide_dimension_t::min, halide_dimension_t::stride, and halide_buffer_t::type.
ALWAYS_INLINE int64_t Halide::Runtime::Internal::calc_device_slice_byte_offset | ( | const struct halide_buffer_t * | src, |
int | slice_dim, | ||
int | slice_pos | ||
) |
Definition at line 183 of file device_buffer_utils.h.
References halide_buffer_t::dim, halide_dimension_t::min, halide_dimension_t::stride, and halide_buffer_t::type.
bool Halide::Runtime::Internal::any_zero | ( | const Container & | c | ) |
Definition at line 70 of file HalideBuffer.h.
Referenced by Halide::Runtime::Buffer< T, D >::Buffer().
|
inline |
Definition at line 26 of file hashmap.h.
References memcmp().
Referenced by Halide::Runtime::Internal::HashMap::lookup(), and Halide::Runtime::Internal::HashMap::store().
Definition at line 30 of file hashmap.h.
Referenced by Halide::Runtime::Internal::HashMap::lookup(), and Halide::Runtime::Internal::HashMap::store().
Definition at line 42 of file objc_support.h.
References objc_getClass(), objc_msgSend(), and sel_getUid().
Definition at line 50 of file objc_support.h.
References objc_msgSend(), and sel_getUid().
Definition at line 56 of file objc_support.h.
References objc_msgSend(), and sel_getUid().
Definition at line 62 of file objc_support.h.
References objc_msgSend(), and sel_getUid().
Referenced by ns_log_object(), and ns_log_utf8_string().
WEAK objc_id Halide::Runtime::Internal::wrap_string_as_ns_string | ( | const char * | string, |
size_t | length | ||
) |
Definition at line 68 of file objc_support.h.
References objc_getClass(), objc_msgSend(), and sel_getUid().
Referenced by ns_log_object(), and ns_log_utf8_string().
size_t Halide::Runtime::Internal::strlen | ( | const char * | string | ) |
Referenced by ns_log_utf8_string().
WEAK void Halide::Runtime::Internal::ns_log_utf8_string | ( | const char * | string | ) |
Definition at line 80 of file objc_support.h.
References NSLog(), release_ns_object(), strlen(), and wrap_string_as_ns_string().
Definition at line 88 of file objc_support.h.
References NSLog(), release_ns_object(), and wrap_string_as_ns_string().
WEAK int Halide::Runtime::Internal::clamp_num_threads | ( | int | threads | ) |
Definition at line 69 of file thread_pool_common.h.
References MAX_THREADS.
Referenced by enqueue_work_already_locked(), and halide_set_num_threads().
WEAK int Halide::Runtime::Internal::default_desired_num_threads | ( | ) |
Definition at line 78 of file thread_pool_common.h.
References atoi(), getenv(), and halide_host_cpu_count().
Referenced by enqueue_work_already_locked(), and halide_set_num_threads().
WEAK void Halide::Runtime::Internal::worker_thread | ( | void * | arg | ) |
Definition at line 433 of file thread_pool_common.h.
References halide_mutex_lock(), halide_mutex_unlock(), Halide::Runtime::Internal::work_queue_t::mutex, work_queue, and worker_thread_already_locked().
Referenced by enqueue_work_already_locked().
Definition at line 197 of file thread_pool_common.h.
References Halide::Runtime::Internal::work_queue_t::a_team_size, Halide::Runtime::Internal::work::active_workers, halide_parallel_task_t::closure, dump_job_state, Halide::Runtime::Internal::work::exit_status, halide_parallel_task_t::extent, halide_parallel_task_t::fn, halide_cond_broadcast(), halide_cond_wait(), halide_do_loop_task(), halide_do_task(), halide_mutex_lock(), halide_mutex_unlock(), halide_thread_yield(), Halide::Runtime::Internal::work_queue_t::jobs, log_message, Halide::Runtime::Internal::work::make_runnable(), halide_parallel_task_t::min, halide_parallel_task_t::min_threads, Halide::Runtime::Internal::work_queue_t::mutex, halide_parallel_task_t::name, Halide::Runtime::Internal::work::next_job, Halide::Runtime::Internal::work::owner_is_sleeping, Halide::Runtime::Internal::work_queue_t::owners_sleeping, Halide::Runtime::Internal::work::parent_job, print_job, Halide::Runtime::Internal::work::running(), halide_parallel_task_t::serial, Halide::Runtime::Internal::work_queue_t::shutdown, Halide::Runtime::Internal::work::sibling_count, Halide::Runtime::Internal::work::siblings, Halide::Runtime::Internal::work_queue_t::target_a_team_size, Halide::Runtime::Internal::work::task, Halide::Runtime::Internal::work::task_fn, Halide::Runtime::Internal::work_queue_t::threads_created, Halide::Runtime::Internal::work::threads_reserved, Halide::Runtime::Internal::work_queue_t::threads_reserved, Halide::Runtime::Internal::work::user_context, Halide::Runtime::Internal::work_queue_t::wake_a_team, Halide::Runtime::Internal::work_queue_t::wake_b_team, Halide::Runtime::Internal::work_queue_t::wake_owners, work_queue, and Halide::Runtime::Internal::work_queue_t::workers_sleeping.
Referenced by halide_default_do_par_for(), halide_default_do_parallel_tasks(), and worker_thread().
WEAK void Halide::Runtime::Internal::enqueue_work_already_locked | ( | int | num_jobs, |
work * | jobs, | ||
work * | task_parent | ||
) |
Definition at line 439 of file thread_pool_common.h.
References Halide::Runtime::Internal::work_queue_t::a_team_size, Halide::Runtime::Internal::work::active_workers, Halide::Runtime::Internal::work_queue_t::assert_zeroed(), clamp_num_threads(), default_desired_num_threads(), Halide::Runtime::Internal::work_queue_t::desired_threads_working, halide_parallel_task_t::extent, halide_assert, halide_cond_broadcast(), halide_spawn_thread(), Halide::Runtime::Internal::work_queue_t::initialized, Halide::Runtime::Internal::work_queue_t::jobs, log_message, MAX_THREADS, halide_parallel_task_t::min_threads, halide_parallel_task_t::name, Halide::Runtime::Internal::work::next_job, Halide::Runtime::Internal::work_queue_t::owners_sleeping, Halide::Runtime::Internal::work::sibling_count, Halide::Runtime::Internal::work::siblings, Halide::Runtime::Internal::work_queue_t::target_a_team_size, Halide::Runtime::Internal::work::task, Halide::Runtime::Internal::work_queue_t::threads, Halide::Runtime::Internal::work_queue_t::threads_created, Halide::Runtime::Internal::work::threads_reserved, Halide::Runtime::Internal::work_queue_t::threads_reserved, Halide::Runtime::Internal::work_queue_t::wake_a_team, Halide::Runtime::Internal::work_queue_t::wake_b_team, Halide::Runtime::Internal::work_queue_t::wake_owners, work_queue, worker_thread(), and Halide::Runtime::Internal::work_queue_t::workers_sleeping.
Referenced by halide_default_do_par_for(), and halide_default_do_parallel_tasks().
WEAK work_queue_t Halide::Runtime::Internal::work_queue = {} |
Definition at line 166 of file thread_pool_common.h.
Referenced by enqueue_work_already_locked(), halide_default_do_par_for(), halide_default_do_parallel_tasks(), halide_default_semaphore_release(), halide_set_num_threads(), halide_shutdown_thread_pool(), worker_thread(), and worker_thread_already_locked().
WEAK halide_do_task_t Halide::Runtime::Internal::custom_do_task = halide_default_do_task |
Definition at line 567 of file thread_pool_common.h.
Referenced by halide_do_task(), halide_set_custom_do_task(), and halide_set_custom_parallel_runtime().
WEAK halide_do_loop_task_t Halide::Runtime::Internal::custom_do_loop_task = halide_default_do_loop_task |
Definition at line 568 of file thread_pool_common.h.
Referenced by halide_do_loop_task(), halide_set_custom_do_loop_task(), and halide_set_custom_parallel_runtime().
WEAK halide_do_par_for_t Halide::Runtime::Internal::custom_do_par_for = halide_default_do_par_for |
Definition at line 569 of file thread_pool_common.h.
Referenced by halide_do_par_for(), halide_set_custom_do_par_for(), and halide_set_custom_parallel_runtime().
WEAK halide_do_parallel_tasks_t Halide::Runtime::Internal::custom_do_parallel_tasks = halide_default_do_parallel_tasks |
Definition at line 570 of file thread_pool_common.h.
Referenced by halide_do_parallel_tasks(), and halide_set_custom_parallel_runtime().
WEAK halide_semaphore_init_t Halide::Runtime::Internal::custom_semaphore_init = halide_default_semaphore_init |
Definition at line 571 of file thread_pool_common.h.
Referenced by halide_semaphore_init(), and halide_set_custom_parallel_runtime().
WEAK halide_semaphore_try_acquire_t Halide::Runtime::Internal::custom_semaphore_try_acquire = halide_default_semaphore_try_acquire |
Definition at line 572 of file thread_pool_common.h.
Referenced by halide_semaphore_try_acquire(), and halide_set_custom_parallel_runtime().
WEAK halide_semaphore_release_t Halide::Runtime::Internal::custom_semaphore_release = halide_default_semaphore_release |
Definition at line 573 of file thread_pool_common.h.
Referenced by halide_semaphore_release(), and halide_set_custom_parallel_runtime().