Halide
halide_buffer_t Struct Reference

The raw representation of an image passed around by generated Halide code. More...

#include <HalideRuntime.h>

Public Attributes

uint64_t device
 A device-handle for e.g. More...
 
const struct halide_device_interface_tdevice_interface
 The interface used to interpret the above handle. More...
 
uint8_thost
 A pointer to the start of the data in main memory. More...
 
uint64_t flags
 flags with various meanings. More...
 
struct halide_type_t type
 The type of each buffer element. More...
 
int32_t dimensions
 The dimensionality of the buffer. More...
 
halide_dimension_tdim
 The shape of the buffer. More...
 
void * padding
 Pads the buffer up to a multiple of 8 bytes. More...
 

Detailed Description

The raw representation of an image passed around by generated Halide code.

It includes some stuff to track whether the image is not actually in main memory, but instead on a device (like a GPU). For a more convenient C++ wrapper, use Halide::Buffer<T>.

Definition at line 1490 of file HalideRuntime.h.

Member Data Documentation

◆ device

uint64_t halide_buffer_t::device

A device-handle for e.g.

GPU memory used to back this buffer.

Definition at line 1492 of file HalideRuntime.h.

◆ device_interface

const struct halide_device_interface_t* halide_buffer_t::device_interface

The interface used to interpret the above handle.

Definition at line 1495 of file HalideRuntime.h.

◆ host

uint8_t* halide_buffer_t::host

A pointer to the start of the data in main memory.

In terms of the Halide coordinate system, this is the address of the min coordinates (defined below).

Definition at line 1500 of file HalideRuntime.h.

Referenced by Halide::Runtime::Buffer< double * >::data().

◆ flags

uint64_t halide_buffer_t::flags

flags with various meanings.

Definition at line 1503 of file HalideRuntime.h.

◆ type

struct halide_type_t halide_buffer_t::type

The type of each buffer element.

Definition at line 1506 of file HalideRuntime.h.

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

◆ dimensions

int32_t halide_buffer_t::dimensions

The dimensionality of the buffer.

Definition at line 1509 of file HalideRuntime.h.

◆ dim

halide_dimension_t* halide_buffer_t::dim

The shape of the buffer.

Halide does not own this array - you must manage the memory for it yourself.

Definition at line 1513 of file HalideRuntime.h.

Referenced by Halide::Runtime::Internal::calc_device_slice_byte_offset(), and Halide::Runtime::Buffer< double * >::make_with_shape_of().

◆ padding

void* halide_buffer_t::padding

Pads the buffer up to a multiple of 8 bytes.

Definition at line 1516 of file HalideRuntime.h.


The documentation for this struct was generated from the following file: