Halide 19.0.0
Halide compiler and libraries
|
Go to the source code of this file.
Classes | |
struct | halide_pseudostack_slot_t |
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 |
Macros | |
#define | WEAK __attribute__((weak)) |
#define | NEVER_INLINE __attribute__((noinline)) |
#define | ALWAYS_INLINE inline __attribute__((always_inline)) |
#define | WEAK_INLINE __attribute__((weak, always_inline)) |
#define | STDOUT_FILENO 1 |
#define | STDERR_FILENO 2 |
#define | _halide_stringify(x) |
halide_abort_if_false() is a macro that calls halide_print if the supplied condition is false, then aborts. | |
#define | _halide_expand_and_stringify(x) |
#define | halide_abort_if_false(user_context, cond) |
#define | halide_debug_assert(user_context, cond) |
halide_debug_assert() is like halide_assert(), but only expands into a check when DEBUG_RUNTIME is defined. | |
Typedefs | |
typedef signed __INT64_TYPE__ | int64_t |
typedef unsigned __INT64_TYPE__ | uint64_t |
typedef signed __INT32_TYPE__ | int32_t |
typedef unsigned __INT32_TYPE__ | uint32_t |
typedef signed __INT16_TYPE__ | int16_t |
typedef unsigned __INT16_TYPE__ | uint16_t |
typedef signed __INT8_TYPE__ | int8_t |
typedef unsigned __INT8_TYPE__ | uint8_t |
typedef __SIZE_TYPE__ | size_t |
typedef __PTRDIFF_TYPE__ | ptrdiff_t |
typedef ptrdiff_t | ssize_t |
typedef __UINTPTR_TYPE__ | uintptr_t |
typedef __INTPTR_TYPE__ | intptr_t |
Functions | |
void * | halide_malloc (void *user_context, size_t x) |
void | halide_free (void *user_context, void *ptr) |
WEAK int64_t | halide_current_time_ns (void *user_context) |
WEAK void | halide_print (void *user_context, const char *msg) |
WEAK void | halide_error (void *user_context, const char *msg) |
char * | getenv (const char *) |
void | free (void *) |
void * | malloc (size_t) |
const char * | strstr (const char *, const char *) |
int | atoi (const char *) |
int | strcmp (const char *s, const char *t) |
int | strncmp (const char *s, const char *t, size_t n) |
size_t | strlen (const char *s) |
const char * | strchr (const char *s, int c) |
void * | memcpy (void *s1, const void *s2, size_t n) |
void * | memmove (void *dest, const void *src, size_t n) |
int | memcmp (const void *s1, const void *s2, size_t n) |
void * | memset (void *s, int val, size_t n) |
WEAK_INLINE void * | halide_fopen (const char *filename, const char *type) |
int | fileno (void *) |
int | fclose (void *) |
int | close (int) |
size_t | fwrite (const void *, size_t, size_t, void *) |
ssize_t | write (int fd, const void *buf, size_t bytes) |
int | remove (const char *pathname) |
int | ioctl (int fd, unsigned long request,...) |
char * | strncpy (char *dst, const char *src, size_t n) |
void | abort () |
WEAK char * | halide_string_to_string (char *dst, char *end, const char *arg) |
WEAK char * | halide_double_to_string (char *dst, char *end, double arg, int scientific) |
WEAK char * | halide_int64_to_string (char *dst, char *end, int64_t arg, int digits) |
WEAK char * | halide_uint64_to_string (char *dst, char *end, uint64_t arg, int digits) |
WEAK char * | halide_pointer_to_string (char *dst, char *end, const void *arg) |
WEAK char * | halide_buffer_to_string (char *dst, char *end, const halide_buffer_t *arg) |
WEAK char * | halide_type_to_string (char *dst, char *end, const halide_type_t *arg) |
WEAK void * | halide_get_symbol (const char *name) |
WEAK void * | halide_load_library (const char *name) |
WEAK void * | halide_get_library_symbol (void *lib, const char *name) |
WEAK int | halide_start_clock (void *user_context) |
WEAK void | halide_sleep_us (void *user_context, int us) |
WEAK void | halide_device_free_as_destructor (void *user_context, void *obj) |
WEAK void | halide_device_and_host_free_as_destructor (void *user_context, void *obj) |
WEAK void | halide_device_host_nop_free (void *user_context, void *obj) |
WEAK void | halide_profiler_stack_peak_update (void *user_context, halide_profiler_instance_state *instance, uint64_t *f_values) |
WEAK void | halide_profiler_memory_allocate (void *user_context, halide_profiler_instance_state *instance, int func_id, uint64_t incr) |
WEAK void | halide_profiler_memory_free (void *user_context, halide_profiler_instance_state *instance, int func_id, uint64_t decr) |
WEAK int | halide_profiler_instance_start (void *user_context, const char *pipeline_name, int num_funcs, const uint64_t *func_names, halide_profiler_instance_state *instance) |
WEAK int | halide_profiler_instance_end (void *user_context, halide_profiler_instance_state *instance) |
WEAK void | halide_start_timer_chain () |
WEAK void | halide_disable_timer_interrupt () |
WEAK void | halide_enable_timer_interrupt () |
WEAK int | halide_host_cpu_count () |
WEAK int | halide_device_and_host_malloc (void *user_context, struct halide_buffer_t *buf, const struct halide_device_interface_t *device_interface) |
WEAK int | halide_device_and_host_free (void *user_context, struct halide_buffer_t *buf) |
WEAK int | halide_trace_helper (void *user_context, const char *func, void *value, int *coords, int type_code, int type_bits, int type_lanes, int code, int parent_id, int value_index, int dimensions, const char *trace_tag) |
WEAK void | halide_use_jit_module () |
WEAK void | halide_release_jit_module () |
WEAK_INLINE int | halide_internal_malloc_alignment () |
WEAK_INLINE void * | halide_internal_aligned_alloc (size_t alignment, size_t size) |
WEAK_INLINE void | halide_internal_aligned_free (void *ptr) |
void | halide_thread_yield () |
template<typename T > | |
ALWAYS_INLINE T | align_up (T p, size_t alignment) |
template<typename T > | |
ALWAYS_INLINE T | is_power_of_two (T value) |
Variables | |
WEAK void(*)(void *, const char *) | halide_set_custom_print (void(*print)(void *, const char *)) |
WEAK void(*)(void *, const char *) | halide_set_error_handler (void(*handler)(void *, const char *)) |
#define WEAK __attribute__((weak)) |
Definition at line 52 of file runtime_internal.h.
#define NEVER_INLINE __attribute__((noinline)) |
Definition at line 54 of file runtime_internal.h.
#define ALWAYS_INLINE inline __attribute__((always_inline)) |
Definition at line 57 of file runtime_internal.h.
#define WEAK_INLINE __attribute__((weak, always_inline)) |
Definition at line 60 of file runtime_internal.h.
#define STDOUT_FILENO 1 |
Definition at line 81 of file runtime_internal.h.
#define STDERR_FILENO 2 |
Definition at line 82 of file runtime_internal.h.
#define _halide_stringify | ( | x | ) |
halide_abort_if_false() is a macro that calls halide_print if the supplied condition is false, then aborts.
Used for unrecoverable errors, or should-never-happen errors.
Note that this is NOT a debug-only macro; the condition will be checked in all build modes!
Definition at line 269 of file runtime_internal.h.
#define _halide_expand_and_stringify | ( | x | ) |
Definition at line 270 of file runtime_internal.h.
#define halide_abort_if_false | ( | user_context, | |
cond ) |
Definition at line 271 of file runtime_internal.h.
Referenced by Halide::Runtime::Internal::aligned_offset(), Halide::Runtime::Internal::work_queue_t::assert_zeroed(), Halide::Runtime::Internal::BlockStorage::back(), Halide::Runtime::Internal::BlockStorage::back(), Halide::Runtime::Internal::BlockStorage::BlockStorage(), Halide::Runtime::Internal::BlockAllocator::create(), Halide::Runtime::Internal::RegionAllocator::create(), Halide::Runtime::Internal::StringStorage::create(), Halide::Runtime::Internal::BlockAllocator::destroy(), Halide::Runtime::Internal::BlockStorage::destroy(), Halide::Runtime::Internal::RegionAllocator::destroy(), Halide::Runtime::Internal::StringStorage::destroy(), Halide::Runtime::Internal::enqueue_work_already_locked(), Halide::Runtime::Internal::BlockStorage::front(), Halide::Runtime::Internal::BlockStorage::front(), Halide::Runtime::Internal::BlockStorage::insert(), Halide::Runtime::Internal::BlockStorage::operator[](), Halide::Runtime::Internal::BlockStorage::operator[](), Halide::Runtime::Internal::BlockStorage::pop_back(), Halide::Runtime::Internal::BlockStorage::pop_front(), Halide::Runtime::Internal::RegionAllocator::reclaim(), Halide::Runtime::Internal::RegionAllocator::release(), Halide::Runtime::Internal::BlockStorage::remove(), Halide::Runtime::Internal::BlockStorage::replace(), Halide::Runtime::Internal::BlockAllocator::reserve(), Halide::Runtime::Internal::RegionAllocator::reserve(), Halide::Runtime::Internal::RegionAllocator::retain(), and Halide::Runtime::Internal::Synchronization::fast_cond::wait().
#define halide_debug_assert | ( | user_context, | |
cond ) |
halide_debug_assert() is like halide_assert(), but only expands into a check when DEBUG_RUNTIME is defined.
It is what you want to use in almost all cases.
Definition at line 290 of file runtime_internal.h.
Referenced by Halide::Runtime::Internal::PointerTable::assign(), Halide::Runtime::Internal::PointerTable::back(), Halide::Runtime::Internal::PrinterBase::capacity(), Halide::Runtime::Internal::MemoryArena::collect(), Halide::Runtime::Internal::THashMap< KeyType, ValueType >::copy_value_func(), Halide::Runtime::Internal::MemoryArena::create(), Halide::Runtime::Internal::MemoryArena::destroy(), Halide::Runtime::Internal::MemoryArena::destroy(), Halide::Runtime::Internal::PointerTable::destroy(), Halide::Runtime::Internal::THashMap< KeyType, ValueType >::destroy_value_func(), Halide::Runtime::Internal::PointerTable::front(), Halide::Runtime::Internal::HashMap::init(), Halide::Runtime::Internal::MemoryArena::initialize(), Halide::Runtime::Internal::PointerTable::insert(), Halide::Runtime::Internal::LinkedList::insert_after(), Halide::Runtime::Internal::LinkedList::insert_before(), Halide::Runtime::Internal::Synchronization::lock_bucket(), Halide::Runtime::Internal::Synchronization::lock_bucket_pair(), Halide::Runtime::Internal::HashMap::lookup(), Halide::Runtime::Internal::PointerTable::operator[](), Halide::Runtime::Internal::PointerTable::operator[](), Halide::Runtime::Internal::PointerTable::PointerTable(), Halide::Runtime::Internal::LinkedList::pop_back(), Halide::Runtime::Internal::PointerTable::pop_back(), Halide::Runtime::Internal::LinkedList::pop_front(), Halide::Runtime::Internal::PointerTable::pop_front(), Halide::Runtime::Internal::HashMap::prune(), Halide::Runtime::Internal::MemoryArena::reclaim(), Halide::Runtime::Internal::HashMap::release(), Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT >::release_hold(), Halide::Runtime::Internal::LinkedList::remove(), Halide::Runtime::Internal::PointerTable::remove(), Halide::Runtime::Internal::PointerTable::replace(), Halide::Runtime::Internal::MemoryArena::reserve(), Halide::Runtime::Internal::PrinterBase::size(), Halide::Runtime::Internal::HashMap::store(), and Halide::Runtime::Internal::Vulkan::VulkanContext::VulkanContext().
typedef signed __INT64_TYPE__ int64_t |
Definition at line 22 of file runtime_internal.h.
typedef unsigned __INT64_TYPE__ uint64_t |
Definition at line 23 of file runtime_internal.h.
typedef signed __INT32_TYPE__ int32_t |
Definition at line 24 of file runtime_internal.h.
typedef unsigned __INT32_TYPE__ uint32_t |
Definition at line 25 of file runtime_internal.h.
typedef signed __INT16_TYPE__ int16_t |
Definition at line 26 of file runtime_internal.h.
typedef unsigned __INT16_TYPE__ uint16_t |
Definition at line 27 of file runtime_internal.h.
typedef signed __INT8_TYPE__ int8_t |
Definition at line 28 of file runtime_internal.h.
typedef unsigned __INT8_TYPE__ uint8_t |
Definition at line 29 of file runtime_internal.h.
typedef __SIZE_TYPE__ size_t |
Definition at line 31 of file runtime_internal.h.
typedef __PTRDIFF_TYPE__ ptrdiff_t |
Definition at line 32 of file runtime_internal.h.
Definition at line 34 of file runtime_internal.h.
typedef __UINTPTR_TYPE__ uintptr_t |
Definition at line 75 of file runtime_internal.h.
typedef __INTPTR_TYPE__ intptr_t |
Definition at line 76 of file runtime_internal.h.
void * halide_malloc | ( | void * | user_context, |
size_t | x ) |
void halide_free | ( | void * | user_context, |
void * | ptr ) |
WEAK void halide_print | ( | void * | user_context, |
const char * | msg ) |
WEAK void halide_error | ( | void * | user_context, |
const char * | msg ) |
char * getenv | ( | const char * | ) |
void free | ( | void * | ) |
void * malloc | ( | size_t | ) |
const char * strstr | ( | const char * | , |
const char * | ) |
int atoi | ( | const char * | ) |
int strcmp | ( | const char * | s, |
const char * | t ) |
int strncmp | ( | const char * | s, |
const char * | t, | ||
size_t | n ) |
Referenced by Halide::Runtime::Internal::StringStorage::operator==(), and cmdline::parser::parse().
size_t strlen | ( | const char * | s | ) |
const char * strchr | ( | const char * | s, |
int | c ) |
Referenced by cmdline::parser::parse().
void * memcpy | ( | void * | s1, |
const void * | s2, | ||
size_t | n ) |
Referenced by Halide::Runtime::Internal::LinkedList::append(), Halide::Runtime::Internal::copy_memory_helper(), Halide::Runtime::Internal::StringUtils::copy_up_to(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::create_crop(), Halide::Runtime::Internal::BlockStorage::fill(), Halide::Runtime::Internal::PointerTable::fill(), Halide::float16_t::float16_t(), Halide::Runtime::Internal::LinkedList::insert_after(), Halide::Runtime::Internal::LinkedList::insert_before(), Halide::Internal::Autoscheduler::BoundContents::make_copy(), Halide::Runtime::Internal::BlockStorage::operator=(), Halide::Runtime::Internal::PointerTable::operator=(), Halide::Runtime::Internal::LinkedList::prepend(), Halide::Internal::reinterpret_bits(), Halide::Runtime::Internal::BlockStorage::replace(), Halide::Runtime::Internal::PointerTable::replace(), Halide::Parameter::scalar(), Halide::Parameter::set_scalar(), Halide::Runtime::Internal::BlockStorage::shrink_to_fit(), and Halide::Runtime::Internal::PointerTable::shrink_to_fit().
void * memmove | ( | void * | dest, |
const void * | src, | ||
size_t | n ) |
int memcmp | ( | const void * | s1, |
const void * | s2, | ||
size_t | n ) |
void * memset | ( | void * | s, |
int | val, | ||
size_t | n ) |
WEAK_INLINE void * halide_fopen | ( | const char * | filename, |
const char * | type ) |
int fileno | ( | void * | ) |
int fclose | ( | void * | ) |
int close | ( | int | ) |
int remove | ( | const char * | pathname | ) |
int ioctl | ( | int | fd, |
unsigned long | request, | ||
... ) |
char * strncpy | ( | char * | dst, |
const char * | src, | ||
size_t | n ) |
void abort | ( | ) |
WEAK char * halide_string_to_string | ( | char * | dst, |
char * | end, | ||
const char * | arg ) |
Referenced by Halide::Runtime::Internal::PrinterBase::operator<<().
WEAK char * halide_double_to_string | ( | char * | dst, |
char * | end, | ||
double | arg, | ||
int | scientific ) |
WEAK char * halide_pointer_to_string | ( | char * | dst, |
char * | end, | ||
const void * | arg ) |
Referenced by Halide::Runtime::Internal::PrinterBase::operator<<().
WEAK char * halide_buffer_to_string | ( | char * | dst, |
char * | end, | ||
const halide_buffer_t * | arg ) |
Referenced by Halide::Runtime::Internal::PrinterBase::operator<<().
WEAK char * halide_type_to_string | ( | char * | dst, |
char * | end, | ||
const halide_type_t * | arg ) |
Referenced by Halide::Runtime::Internal::PrinterBase::operator<<().
WEAK void * halide_get_symbol | ( | const char * | name | ) |
WEAK void * halide_load_library | ( | const char * | name | ) |
WEAK void * halide_get_library_symbol | ( | void * | lib, |
const char * | name ) |
WEAK int halide_start_clock | ( | void * | user_context | ) |
WEAK void halide_sleep_us | ( | void * | user_context, |
int | us ) |
WEAK void halide_device_free_as_destructor | ( | void * | user_context, |
void * | obj ) |
WEAK void halide_device_and_host_free_as_destructor | ( | void * | user_context, |
void * | obj ) |
WEAK void halide_device_host_nop_free | ( | void * | user_context, |
void * | obj ) |
WEAK void halide_profiler_stack_peak_update | ( | void * | user_context, |
halide_profiler_instance_state * | instance, | ||
uint64_t * | f_values ) |
WEAK void halide_profiler_memory_allocate | ( | void * | user_context, |
halide_profiler_instance_state * | instance, | ||
int | func_id, | ||
uint64_t | incr ) |
WEAK void halide_profiler_memory_free | ( | void * | user_context, |
halide_profiler_instance_state * | instance, | ||
int | func_id, | ||
uint64_t | decr ) |
WEAK int halide_profiler_instance_start | ( | void * | user_context, |
const char * | pipeline_name, | ||
int | num_funcs, | ||
const uint64_t * | func_names, | ||
halide_profiler_instance_state * | instance ) |
WEAK int halide_profiler_instance_end | ( | void * | user_context, |
halide_profiler_instance_state * | instance ) |
WEAK void halide_start_timer_chain | ( | ) |
WEAK void halide_disable_timer_interrupt | ( | ) |
WEAK void halide_enable_timer_interrupt | ( | ) |
WEAK int halide_host_cpu_count | ( | ) |
Referenced by Halide::Runtime::Internal::default_desired_num_threads().
WEAK int halide_device_and_host_malloc | ( | void * | user_context, |
struct halide_buffer_t * | buf, | ||
const struct halide_device_interface_t * | device_interface ) |
WEAK int halide_device_and_host_free | ( | void * | user_context, |
struct halide_buffer_t * | buf ) |
WEAK int halide_trace_helper | ( | void * | user_context, |
const char * | func, | ||
void * | value, | ||
int * | coords, | ||
int | type_code, | ||
int | type_bits, | ||
int | type_lanes, | ||
int | code, | ||
int | parent_id, | ||
int | value_index, | ||
int | dimensions, | ||
const char * | trace_tag ) |
WEAK void halide_use_jit_module | ( | ) |
WEAK void halide_release_jit_module | ( | ) |
WEAK_INLINE int halide_internal_malloc_alignment | ( | ) |
WEAK_INLINE void * halide_internal_aligned_alloc | ( | size_t | alignment, |
size_t | size ) |
WEAK_INLINE void halide_internal_aligned_free | ( | void * | ptr | ) |
void halide_thread_yield | ( | ) |
Referenced by Halide::Runtime::Internal::worker_thread_already_locked().
ALWAYS_INLINE T align_up | ( | T | p, |
size_t | alignment ) |
Definition at line 221 of file runtime_internal.h.
Referenced by Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::allocate().
ALWAYS_INLINE T is_power_of_two | ( | T | value | ) |
Definition at line 226 of file runtime_internal.h.
WEAK void(*)(void *, const char *) halide_set_custom_print(void(*print)(void *, const char *)) | ( | void(* | print )(void *, const char *) | ) |
Definition at line 91 of file runtime_internal.h.
WEAK void(*)(void *, const char *) halide_set_error_handler(void(*handler)(void *, const char *)) | ( | void(* | handler )(void *, const char *) | ) |
Definition at line 92 of file runtime_internal.h.