Loading...
Searching...
No Matches
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

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

## 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::ConformBlockRequestFn) (void *, MemoryRequest *)
typedef int(* | Halide::Runtime::Internal::AllocateRegionFn) (void *, MemoryRegion *)
typedef int(* | Halide::Runtime::Internal::DeallocateRegionFn) (void *, MemoryRegion *)
typedef int(* | Halide::Runtime::Internal::ConformBlockRegionFn) (void *, MemoryRequest *)

## Enumerations

enum class | Halide::Runtime::Internal::AllocationStatus { Halide::Runtime::Internal::InvalidStatus , Halide::Runtime::Internal::InUse , Halide::Runtime::Internal::Available , Halide::Runtime::Internal::Purgeable , Halide::Runtime::Internal::Dedicated }
enum class | Halide::Runtime::Internal::MemoryVisibility { Halide::Runtime::Internal::InvalidVisibility , Halide::Runtime::Internal::HostOnly , Halide::Runtime::Internal::DeviceOnly , Halide::Runtime::Internal::DeviceToHost , Halide::Runtime::Internal::HostToDevice , Halide::Runtime::Internal::DefaultVisibility }
enum class | Halide::Runtime::Internal::MemoryUsage { Halide::Runtime::Internal::InvalidUsage , Halide::Runtime::Internal::StaticStorage , Halide::Runtime::Internal::DynamicStorage , Halide::Runtime::Internal::UniformStorage , Halide::Runtime::Internal::TransferSrc , Halide::Runtime::Internal::TransferDst , Halide::Runtime::Internal::TransferSrcDst , Halide::Runtime::Internal::DefaultUsage }
enum class | Halide::Runtime::Internal::MemoryCaching { Halide::Runtime::Internal::InvalidCaching , Halide::Runtime::Internal::Cached , Halide::Runtime::Internal::Uncached , Halide::Runtime::Internal::CachedCoherent , Halide::Runtime::Internal::UncachedCoherent , Halide::Runtime::Internal::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)
ALWAYS_INLINE const 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)
WEAK const char * | halide_memory_visibility_name (MemoryVisibility value)
WEAK const char * | halide_memory_usage_name (MemoryUsage value)
WEAK const char * | halide_memory_caching_name (MemoryCaching value)

## Function Documentation

## halide_memory_visibility_name()

WEAK const char * halide_memory_visibility_name | ( | MemoryVisibility | value | ) |

Definition at line 233 of file memory_resources.h.

References WEAK.

Referenced by Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::allocate_block(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::allocate_region(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::conform_region_request(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::deallocate_block(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::deallocate_region(), and Halide::Runtime::Internal::BlockAllocator::reserve().

## halide_memory_usage_name()

WEAK const char * halide_memory_usage_name | ( | MemoryUsage | value | ) |

Definition at line 260 of file memory_resources.h.

References WEAK.

Referenced by Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::allocate_block(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::allocate_region(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::conform_region_request(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::deallocate_block(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::deallocate_region(), and Halide::Runtime::Internal::BlockAllocator::reserve().

## halide_memory_caching_name()

WEAK const char * halide_memory_caching_name | ( | MemoryCaching | value | ) |

Definition at line 293 of file memory_resources.h.

References WEAK.

Referenced by Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::allocate_block(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::allocate_region(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::conform_region_request(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::deallocate_block(), Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::deallocate_region(), and Halide::Runtime::Internal::BlockAllocator::reserve().