Halide
memory_resources.h File Reference
#include "../HalideRuntime.h"

Go to the source code of this file.

Classes

struct  Halide::Runtime::Internal::MemoryProperties
 
struct  Halide::Runtime::Internal::MemoryBlock
 
struct  Halide::Runtime::Internal::MemoryRange
 
struct  Halide::Runtime::Internal::MemoryRegion
 
struct  Halide::Runtime::Internal::MemoryRequest
 
struct  Halide::Runtime::Internal::BlockResource
 
struct  Halide::Runtime::Internal::BlockRegion
 
struct  Halide::Runtime::Internal::SystemMemoryAllocatorFns
 
struct  Halide::Runtime::Internal::HalideSystemAllocatorFns
 
struct  Halide::Runtime::Internal::MemoryBlockAllocatorFns
 
struct  Halide::Runtime::Internal::MemoryRegionAllocatorFns
 

Namespaces

 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.
 
 Halide::Runtime
 
 Halide::Runtime::Internal
 

Typedefs

typedef void *(* Halide::Runtime::Internal::AllocateSystemFn) (void *, size_t)
 
typedef void(* Halide::Runtime::Internal::DeallocateSystemFn) (void *, void *)
 
typedef int(* Halide::Runtime::Internal::AllocateBlockFn) (void *, MemoryBlock *)
 
typedef int(* Halide::Runtime::Internal::DeallocateBlockFn) (void *, MemoryBlock *)
 
typedef int(* Halide::Runtime::Internal::AllocateRegionFn) (void *, MemoryRegion *)
 
typedef int(* Halide::Runtime::Internal::DeallocateRegionFn) (void *, MemoryRegion *)
 

Enumerations

enum  Halide::Runtime::Internal::AllocationStatus {
  Halide::Runtime::Internal::AllocationStatus::InvalidStatus, Halide::Runtime::Internal::AllocationStatus::InUse, Halide::Runtime::Internal::AllocationStatus::Available, Halide::Runtime::Internal::AllocationStatus::Purgeable,
  Halide::Runtime::Internal::AllocationStatus::Dedicated
}
 
enum  Halide::Runtime::Internal::MemoryVisibility {
  Halide::Runtime::Internal::MemoryVisibility::InvalidVisibility, Halide::Runtime::Internal::MemoryVisibility::HostOnly, Halide::Runtime::Internal::MemoryVisibility::DeviceOnly, Halide::Runtime::Internal::MemoryVisibility::DeviceToHost,
  Halide::Runtime::Internal::MemoryVisibility::HostToDevice, Halide::Runtime::Internal::MemoryVisibility::DefaultVisibility
}
 
enum  Halide::Runtime::Internal::MemoryUsage {
  Halide::Runtime::Internal::MemoryUsage::InvalidUsage, Halide::Runtime::Internal::MemoryUsage::StaticStorage, Halide::Runtime::Internal::MemoryUsage::DynamicStorage, Halide::Runtime::Internal::MemoryUsage::UniformStorage,
  Halide::Runtime::Internal::MemoryUsage::TransferSrc, Halide::Runtime::Internal::MemoryUsage::TransferDst, Halide::Runtime::Internal::MemoryUsage::TransferSrcDst, Halide::Runtime::Internal::MemoryUsage::DefaultUsage
}
 
enum  Halide::Runtime::Internal::MemoryCaching {
  Halide::Runtime::Internal::MemoryCaching::InvalidCaching, Halide::Runtime::Internal::MemoryCaching::Cached, Halide::Runtime::Internal::MemoryCaching::Uncached, Halide::Runtime::Internal::MemoryCaching::CachedCoherent,
  Halide::Runtime::Internal::MemoryCaching::UncachedCoherent, Halide::Runtime::Internal::MemoryCaching::DefaultCaching
}
 

Functions

ALWAYS_INLINE bool Halide::Runtime::Internal::is_power_of_two_alignment (size_t x)
 
ALWAYS_INLINE size_t Halide::Runtime::Internal::aligned_offset (size_t offset, size_t alignment)
 
ALWAYS_INLINE size_t Halide::Runtime::Internal::conform_alignment (size_t requested, size_t required)
 
ALWAYS_INLINE size_t Halide::Runtime::Internal::aligned_size (size_t offset, size_t size, size_t alignment)
 
ALWAYS_INLINE size_t Halide::Runtime::Internal::conform_size (size_t offset, size_t size, size_t alignment, size_t nearest_multiple)
 
ALWAYS_INLINE size_t Halide::Runtime::Internal::clamped_size (size_t value, size_t min_value, size_t max_value)
 
const ALWAYS_INLINE void * Halide::Runtime::Internal::offset_address (const void *address, size_t byte_offset)
 
ALWAYS_INLINE void * Halide::Runtime::Internal::offset_address (void *address, size_t byte_offset)
 
ALWAYS_INLINE void * Halide::Runtime::Internal::native_system_malloc (void *user_context, size_t bytes)
 
ALWAYS_INLINE void Halide::Runtime::Internal::native_system_free (void *user_context, void *ptr)
 
const WEAK char * halide_memory_visibility_name (MemoryVisibility value)
 
const WEAK char * halide_memory_usage_name (MemoryUsage value)
 
const WEAK char * halide_memory_caching_name (MemoryCaching value)
 

Function Documentation

◆ halide_memory_visibility_name()

const WEAK char* halide_memory_visibility_name ( MemoryVisibility  value)

Definition at line 229 of file memory_resources.h.

◆ halide_memory_usage_name()

const WEAK char* halide_memory_usage_name ( MemoryUsage  value)

Definition at line 256 of file memory_resources.h.

◆ halide_memory_caching_name()

const WEAK char* halide_memory_caching_name ( MemoryCaching  value)

Definition at line 289 of file memory_resources.h.