Halide
HalideBuffer.h File Reference
#include <algorithm>
#include <atomic>
#include <cassert>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <limits>
#include <memory>
#include <vector>
#include "HalideRuntime.h"

Go to the source code of this file.

Classes

class  Halide::Runtime::Buffer< T, Dims, InClassDimStorage >
 A templated Buffer class that wraps halide_buffer_t and adds functionality. More...
 
struct  Halide::Runtime::AllInts< Args >
 
struct  Halide::Runtime::AllInts<>
 
struct  Halide::Runtime::AllInts< T, Args... >
 
struct  Halide::Runtime::AllInts< float, Args... >
 
struct  Halide::Runtime::AllInts< double, Args... >
 
struct  Halide::Runtime::AllocationHeader
 A struct acting as a header for allocations owned by the Buffer class itself. More...
 
struct  Halide::Runtime::DeviceRefCount
 A similar struct for managing device allocations. More...
 
class  Halide::Runtime::Buffer< T, Dims, InClassDimStorage >
 A templated Buffer class that wraps halide_buffer_t and adds functionality. More...
 
class  Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::Dimension
 Read-only access to the shape. More...
 
struct  Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::Dimension::iterator
 An iterator class, so that you can iterate over coordinates in a dimensions using a range-based for loop. More...
 

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
 

Macros

#define HALIDE_ALLOCA   __builtin_alloca
 
#define HALIDE_RUNTIME_BUFFER_CHECK_INDICES   0
 
#define HALIDE_RUNTIME_BUFFER_ALLOCATION_ALIGNMENT   128
 
#define HALIDE_RUNTIME_BUFFER_USE_ALIGNED_ALLOC   1
 

Enumerations

enum  Halide::Runtime::BufferDeviceOwnership : int {
  Halide::Runtime::BufferDeviceOwnership::Allocated, Halide::Runtime::BufferDeviceOwnership::WrappedNative, Halide::Runtime::BufferDeviceOwnership::Unmanaged, Halide::Runtime::BufferDeviceOwnership::AllocatedDeviceAndHost,
  Halide::Runtime::BufferDeviceOwnership::Cropped
}
 This indicates how to deallocate the device for a Halide::Runtime::Buffer. More...
 

Functions

template<typename Container >
bool Halide::Runtime::Internal::any_zero (const Container &c)
 

Variables

constexpr int Halide::Runtime::AnyDims = -1
 

Detailed Description

Defines a Buffer type that wraps from halide_buffer_t and adds functionality, and methods for more conveniently iterating over the samples in a halide_buffer_t outside of Halide code.

Definition in file HalideBuffer.h.

Macro Definition Documentation

◆ HALIDE_ALLOCA

#define HALIDE_ALLOCA   __builtin_alloca

Definition at line 36 of file HalideBuffer.h.

◆ HALIDE_RUNTIME_BUFFER_CHECK_INDICES

#define HALIDE_RUNTIME_BUFFER_CHECK_INDICES   0

Definition at line 45 of file HalideBuffer.h.

◆ HALIDE_RUNTIME_BUFFER_ALLOCATION_ALIGNMENT

#define HALIDE_RUNTIME_BUFFER_ALLOCATION_ALIGNMENT   128

Definition at line 52 of file HalideBuffer.h.

◆ HALIDE_RUNTIME_BUFFER_USE_ALIGNED_ALLOC

#define HALIDE_RUNTIME_BUFFER_USE_ALIGNED_ALLOC   1

Definition at line 107 of file HalideBuffer.h.