Halide
runtime_internal.h File Reference

Go to the source code of this file.

Classes

struct  halide_cond
 
struct  Halide::Runtime::Internal::CpuFeatures
 

Namespaces

 Halide
 Defines methods for manipulating and analyzing boolean expressions.
 
 Halide::Runtime
 
 Halide::Runtime::Internal
 

Macros

#define NULL   0
 
#define WEAK   __attribute__((weak))
 
#define STDOUT_FILENO   1
 
#define STDERR_FILENO   2
 
#define _halide_stringify(x)   #x
 A macro that calls halide_print if the supplied condition is false, then aborts. More...
 
#define _halide_expand_and_stringify(x)   _halide_stringify(x)
 
#define halide_assert(user_context, cond)
 

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
 

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)
 
int memcmp (const void *s1, const void *s2, size_t n)
 
void * memset (void *s, int val, size_t n)
 
void * fopen (const char *, const char *)
 
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,...)
 
void exit (int)
 
void abort ()
 
char * strncpy (char *dst, const char *src, size_t n)
 
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_ms (void *user_context, int ms)
 
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, void *pipeline_state, uint64_t *f_values)
 
WEAK void halide_profiler_memory_allocate (void *user_context, void *pipeline_state, int func_id, uint64_t incr)
 
WEAK void halide_profiler_memory_free (void *user_context, void *pipeline_state, int func_id, uint64_t decr)
 
WEAK int halide_profiler_pipeline_start (void *user_context, const char *pipeline_name, int num_funcs, const uint64_t *func_names)
 
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_matlab_call_pipeline (void *user_context, int(*pipeline)(void **args), const halide_filter_metadata_t *metadata, int nlhs, mxArray **plhs, int nrhs, const mxArray **prhs)
 
WEAK void halide_cond_init (struct halide_cond *cond)
 
WEAK void halide_cond_destroy (struct halide_cond *cond)
 
WEAK void halide_cond_broadcast (struct halide_cond *cond)
 
WEAK void halide_cond_wait (struct halide_cond *cond, struct halide_mutex *mutex)
 
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)
 
WEAK void Halide::Runtime::Internal::halide_use_jit_module ()
 
WEAK void Halide::Runtime::Internal::halide_release_jit_module ()
 
WEAK CpuFeatures Halide::Runtime::Internal::halide_get_cpu_features ()
 
template<typename T >
 Halide::Runtime::Internal::__attribute__ ((always_inline)) void swap(T &a
 
template<typename T , typename U >
 Halide::Runtime::Internal::__attribute__ ((always_inline)) T reinterpret(const U &x)
 
WEAK Halide::Runtime::Internal::__attribute__ ((always_inline)) int halide_malloc_alignment()
 

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 *))
 
T & Halide::Runtime::Internal::b
 
 Halide::Runtime::Internal::a = b
 

Macro Definition Documentation

◆ NULL

◆ WEAK

#define WEAK   __attribute__((weak))

Definition at line 33 of file runtime_internal.h.

Referenced by Halide::Runtime::Internal::__attribute__().

◆ STDOUT_FILENO

#define STDOUT_FILENO   1

Definition at line 49 of file runtime_internal.h.

◆ STDERR_FILENO

#define STDERR_FILENO   2

Definition at line 50 of file runtime_internal.h.

◆ _halide_stringify

#define _halide_stringify (   x)    #x

A macro that calls halide_print if the supplied condition is false, then aborts.

Used for unrecoverable errors, or should-never-happen errors.

Definition at line 173 of file runtime_internal.h.

◆ _halide_expand_and_stringify

#define _halide_expand_and_stringify (   x)    _halide_stringify(x)

Definition at line 174 of file runtime_internal.h.

◆ halide_assert

#define halide_assert (   user_context,
  cond 
)
Value:
if (!(cond)) { \
halide_print(user_context, __FILE__ ":" _halide_expand_and_stringify(__LINE__) " Assert failed: " #cond "\n"); \
abort(); \
}
void * user_context
Definition: printer.h:31
#define _halide_expand_and_stringify(x)

Definition at line 175 of file runtime_internal.h.

Typedef Documentation

◆ int64_t

typedef signed __INT64_TYPE__ int64_t

Definition at line 18 of file runtime_internal.h.

◆ uint64_t

typedef unsigned __INT64_TYPE__ uint64_t

Definition at line 19 of file runtime_internal.h.

◆ int32_t

typedef signed __INT32_TYPE__ int32_t

Definition at line 20 of file runtime_internal.h.

◆ uint32_t

typedef unsigned __INT32_TYPE__ uint32_t

Definition at line 21 of file runtime_internal.h.

◆ int16_t

typedef signed __INT16_TYPE__ int16_t

Definition at line 22 of file runtime_internal.h.

◆ uint16_t

typedef unsigned __INT16_TYPE__ uint16_t

Definition at line 23 of file runtime_internal.h.

◆ int8_t

typedef signed __INT8_TYPE__ int8_t

Definition at line 24 of file runtime_internal.h.

◆ uint8_t

typedef unsigned __INT8_TYPE__ uint8_t
Examples:
tutorial/lesson_09_update_definitions.cpp.

Definition at line 25 of file runtime_internal.h.

◆ size_t

typedef __SIZE_TYPE__ size_t

Definition at line 27 of file runtime_internal.h.

◆ ptrdiff_t

typedef __PTRDIFF_TYPE__ ptrdiff_t

Definition at line 28 of file runtime_internal.h.

◆ ssize_t

typedef ptrdiff_t ssize_t

Definition at line 30 of file runtime_internal.h.

Function Documentation

◆ halide_malloc()

void* halide_malloc ( void *  user_context,
size_t  x 
)

◆ halide_free()

void halide_free ( void *  user_context,
void *  ptr 
)

◆ halide_current_time_ns()

WEAK int64_t halide_current_time_ns ( void *  user_context)

◆ halide_print()

WEAK void halide_print ( void *  user_context,
const char *  msg 
)

◆ halide_error()

WEAK void halide_error ( void *  user_context,
const char *  msg 
)

◆ getenv()

◆ free()

◆ malloc()

◆ strstr()

const char* strstr ( const char *  ,
const char *   
)

◆ atoi()

◆ strcmp()

int strcmp ( const char *  s,
const char *  t 
)

◆ strncmp()

int strncmp ( const char *  s,
const char *  t,
size_t  n 
)

◆ strlen()

size_t strlen ( const char *  s)

◆ strchr()

const char* strchr ( const char *  s,
int  c 
)

◆ memcpy()

◆ memcmp()

int memcmp ( const void *  s1,
const void *  s2,
size_t  n 
)

◆ memset()

void* memset ( void *  s,
int  val,
size_t  n 
)

◆ fopen()

void* fopen ( const char *  ,
const char *   
)

◆ fileno()

int fileno ( void *  )

◆ fclose()

int fclose ( void *  )

◆ close()

int close ( int  )

◆ fwrite()

size_t fwrite ( const void *  ,
size_t  ,
size_t  ,
void *   
)

◆ write()

ssize_t write ( int  fd,
const void *  buf,
size_t  bytes 
)

◆ remove()

int remove ( const char *  pathname)

◆ ioctl()

int ioctl ( int  fd,
unsigned long  request,
  ... 
)

◆ exit()

void exit ( int  )

◆ abort()

void abort ( )

◆ strncpy()

char* strncpy ( char *  dst,
const char *  src,
size_t  n 
)

◆ halide_string_to_string()

WEAK char* halide_string_to_string ( char *  dst,
char *  end,
const char *  arg 
)

◆ halide_double_to_string()

WEAK char* halide_double_to_string ( char *  dst,
char *  end,
double  arg,
int  scientific 
)

◆ halide_int64_to_string()

WEAK char* halide_int64_to_string ( char *  dst,
char *  end,
int64_t  arg,
int  digits 
)

◆ halide_uint64_to_string()

WEAK char* halide_uint64_to_string ( char *  dst,
char *  end,
uint64_t  arg,
int  digits 
)

◆ halide_pointer_to_string()

WEAK char* halide_pointer_to_string ( char *  dst,
char *  end,
const void *  arg 
)

◆ halide_buffer_to_string()

WEAK char* halide_buffer_to_string ( char *  dst,
char *  end,
const halide_buffer_t arg 
)

◆ halide_type_to_string()

WEAK char* halide_type_to_string ( char *  dst,
char *  end,
const halide_type_t arg 
)

◆ halide_get_symbol()

WEAK void* halide_get_symbol ( const char *  name)

◆ halide_load_library()

WEAK void* halide_load_library ( const char *  name)

◆ halide_get_library_symbol()

WEAK void* halide_get_library_symbol ( void *  lib,
const char *  name 
)

◆ halide_start_clock()

WEAK int halide_start_clock ( void *  user_context)

◆ halide_sleep_ms()

WEAK void halide_sleep_ms ( void *  user_context,
int  ms 
)

◆ halide_device_free_as_destructor()

WEAK void halide_device_free_as_destructor ( void *  user_context,
void *  obj 
)

◆ halide_device_and_host_free_as_destructor()

WEAK void halide_device_and_host_free_as_destructor ( void *  user_context,
void *  obj 
)

◆ halide_device_host_nop_free()

WEAK void halide_device_host_nop_free ( void *  user_context,
void *  obj 
)

◆ halide_profiler_stack_peak_update()

WEAK void halide_profiler_stack_peak_update ( void *  user_context,
void *  pipeline_state,
uint64_t f_values 
)

◆ halide_profiler_memory_allocate()

WEAK void halide_profiler_memory_allocate ( void *  user_context,
void *  pipeline_state,
int  func_id,
uint64_t  incr 
)

◆ halide_profiler_memory_free()

WEAK void halide_profiler_memory_free ( void *  user_context,
void *  pipeline_state,
int  func_id,
uint64_t  decr 
)

◆ halide_profiler_pipeline_start()

WEAK int halide_profiler_pipeline_start ( void *  user_context,
const char *  pipeline_name,
int  num_funcs,
const uint64_t func_names 
)

◆ halide_host_cpu_count()

WEAK int halide_host_cpu_count ( )

◆ halide_device_and_host_malloc()

WEAK int halide_device_and_host_malloc ( void *  user_context,
struct halide_buffer_t buf,
const struct halide_device_interface_t device_interface 
)

◆ halide_device_and_host_free()

WEAK int halide_device_and_host_free ( void *  user_context,
struct halide_buffer_t buf 
)

◆ halide_matlab_call_pipeline()

WEAK int halide_matlab_call_pipeline ( void *  user_context,
int(*)(void **args)  pipeline,
const halide_filter_metadata_t metadata,
int  nlhs,
mxArray **  plhs,
int  nrhs,
const mxArray **  prhs 
)

◆ halide_cond_init()

WEAK void halide_cond_init ( struct halide_cond cond)

◆ halide_cond_destroy()

WEAK void halide_cond_destroy ( struct halide_cond cond)

◆ halide_cond_broadcast()

◆ halide_cond_wait()

WEAK void halide_cond_wait ( struct halide_cond cond,
struct halide_mutex mutex 
)

◆ halide_trace_helper()

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 
)

Variable Documentation

◆ halide_set_custom_print

WEAK void(*)(void *, const char *) halide_set_custom_print(void(*print)(void *, const char *))

Definition at line 59 of file runtime_internal.h.

◆ halide_set_error_handler

WEAK void(*)(void *, const char *) halide_set_error_handler(void(*handler)(void *, const char *))

Definition at line 60 of file runtime_internal.h.