Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Halide::Internal::Dimension Class Reference

#include <Dimension.h>

Public Member Functions

Expr min () const
 Get an expression representing the minimum coordinates of this image parameter in the given dimension.
 
Expr extent () const
 Get an expression representing the extent of this image parameter in the given dimension.
 
Expr max () const
 Get an expression representing the maximum coordinates of this image parameter in the given dimension.
 
Expr stride () const
 Get an expression representing the stride of this image in the given dimension.
 
Dimension set_min (const Expr &min)
 Set the min in a given dimension to equal the given expression.
 
Dimension set_extent (const Expr &extent)
 Set the extent in a given dimension to equal the given expression.
 
Dimension set_stride (const Expr &stride)
 Set the stride in a given dimension to equal the given value.
 
Dimension set_bounds (const Expr &min, const Expr &extent)
 Set the min and extent in one call.
 
Dimension set_estimate (const Expr &min, const Expr &extent)
 Set the min and extent estimates in one call.
 
Expr min_estimate () const
 
Expr extent_estimate () const
 
Dimension dim (int i) const
 Get a different dimension of the same buffer.
 

Detailed Description

Definition at line 16 of file Dimension.h.

Member Function Documentation

◆ min()

Expr Halide::Internal::Dimension::min ( ) const

Get an expression representing the minimum coordinates of this image parameter in the given dimension.

◆ extent()

Expr Halide::Internal::Dimension::extent ( ) const

Get an expression representing the extent of this image parameter in the given dimension.

◆ max()

Expr Halide::Internal::Dimension::max ( ) const

Get an expression representing the maximum coordinates of this image parameter in the given dimension.

◆ stride()

Expr Halide::Internal::Dimension::stride ( ) const

Get an expression representing the stride of this image in the given dimension.

◆ set_min()

Dimension Halide::Internal::Dimension::set_min ( const Expr & min)

Set the min in a given dimension to equal the given expression.

Setting the mins to zero may simplify some addressing math.

◆ set_extent()

Dimension Halide::Internal::Dimension::set_extent ( const Expr & extent)

Set the extent in a given dimension to equal the given expression.

Images passed in that fail this check will generate a runtime error. Returns a reference to the ImageParam so that these calls may be chained.

This may help the compiler generate better code. E.g:

im.dim(0).set_extent(100);

tells the compiler that dimension zero must be of extent 100, which may result in simplification of boundary checks. The value can be an arbitrary expression:

im.dim(0).set_extent(im.dim(1).extent());

declares that im is a square image (of unknown size), whereas:

im.dim(0).set_extent((im.dim(0).extent()/32)*32);

tells the compiler that the extent is a multiple of 32.

◆ set_stride()

Dimension Halide::Internal::Dimension::set_stride ( const Expr & stride)

Set the stride in a given dimension to equal the given value.

This is particularly helpful to set when vectorizing. Known strides for the vectorized dimension generate better code.

◆ set_bounds()

Dimension Halide::Internal::Dimension::set_bounds ( const Expr & min,
const Expr & extent )

Set the min and extent in one call.

◆ set_estimate()

Dimension Halide::Internal::Dimension::set_estimate ( const Expr & min,
const Expr & extent )

Set the min and extent estimates in one call.

These values are only used by the auto-scheduler and/or the RunGen tool/

◆ min_estimate()

Expr Halide::Internal::Dimension::min_estimate ( ) const

◆ extent_estimate()

Expr Halide::Internal::Dimension::extent_estimate ( ) const

◆ dim()

Dimension Halide::Internal::Dimension::dim ( int i) const

Get a different dimension of the same buffer.


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