Halide 22.0.0 Halide compiler and libraries

Public Attributes | List of all members
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_t * | device_interface
| The interface used to interpret the above handle. More...
uint8_t * | host
| 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_t * | dim
| 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 1569 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 1571 of file HalideRuntime.h.

Referenced by Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::has_device_allocation(), and Halide::Runtime::Internal::make_buffer_copy().

## ◆ device_interface

const struct halide_device_interface_t* halide_buffer_t::device_interface

The interface used to interpret the above handle.

Definition at line 1574 of file HalideRuntime.h.

Referenced by Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::copy_to_host(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::crop(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::cropped(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::device_and_host_free(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::device_detach_native(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::device_free(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::slice(), and Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::sliced().

## ◆ 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 1579 of file HalideRuntime.h.

Referenced by Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::allocate(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::begin(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::Buffer(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::data(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::end(), and Halide::Runtime::Internal::make_buffer_copy().

## ◆ flags

uint64_t halide_buffer_t::flags

flags with various meanings.

Definition at line 1582 of file HalideRuntime.h.

## ◆ type

struct halide_type_t halide_buffer_t::type

The type of each buffer element.

Definition at line 1585 of file HalideRuntime.h.

Referenced by Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::Buffer(), Halide::Runtime::Internal::calc_device_crop_byte_offset(), Halide::Runtime::Internal::calc_device_slice_byte_offset(), Halide::Runtime::Internal::make_buffer_copy(), and Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::type().

## ◆ dimensions

int32_t halide_buffer_t::dimensions

The dimensionality of the buffer.

Definition at line 1588 of file HalideRuntime.h.

Referenced by Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::add_dimension(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::add_dimension_with_stride(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::Buffer(), Halide::Runtime::Internal::calc_device_crop_byte_offset(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::dimensions(), and Halide::Runtime::Internal::make_buffer_copy().

## ◆ 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 1592 of file HalideRuntime.h.

Referenced by Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::add_dimension(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::add_dimension_with_stride(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::Buffer(), Halide::Runtime::Internal::calc_device_crop_byte_offset(), Halide::Runtime::Internal::calc_device_slice_byte_offset(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::dim(), Halide::Runtime::Internal::make_buffer_copy(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::make_with_shape_of(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::set_min(), Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::translate(), and Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::transpose().

## ◆ padding

void* halide_buffer_t::padding

Pads the buffer up to a multiple of 8 bytes.

Definition at line 1595 of file HalideRuntime.h.

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

- src/runtime/HalideRuntime.h