1 #ifndef HALIDE_DEVICE_ARGUMENT_H 2 #define HALIDE_DEVICE_ARGUMENT_H 105 void visit(
const For *loop)
override;
MemoryType memory_type
If is_buffer == true and memory_type == GPUTexture, this argument should be passed and accessed throu...
The result of modulus_remainder analysis.
Routines for statically determining what expressions are divisible by.
ModulusRemainder alignment
Alignment information for integer parameters.
A Closure modified to inspect GPU-specific memory accesses, and produce a vector of DeviceArgument ob...
A helper class to manage closures.
bool read
For buffers, these two variables can be used to specify whether the buffer is read or written...
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.
std::vector< DeviceArgument > arguments()
Get a description of the captured arguments.
unsigned __INT8_TYPE__ uint8_t
DeviceArgument(const std::string &_name, bool _is_buffer, MemoryType _mem, Type _type, uint8_t _dimensions, size_t _size=0)
size_t packed_index
The index of the first element of the argument when packed into a wider type, such as packing scalar ...
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt) ...
size_t size
The static size of the argument if known, or zero otherwise.
Type type
If this is a scalar parameter, then this is its type.
bool is_buffer
An argument is either a primitive type (for parameters), or a buffer pointer.
void visit(const Let *op) override
Let Halide select a storage type automatically.
Not visible externally, similar to 'static' linkage in C.
void visit(const For *loop) override
Types in the halide type system.
std::string name
The name of the argument.
A DeviceArgument looks similar to an Halide::Argument, but has behavioral differences that make it sp...
uint8_t dimensions
If is_buffer is true, this is the dimensionality of the buffer.
MemoryType
An enum describing different address spaces to be used with Func::store_in.