Halide
Halide::Internal::HostClosure Class Reference

A Closure modified to inspect GPU-specific memory accesses, and produce a vector of DeviceArgument objects. More...

#include <DeviceArgument.h>

Inherits Halide::Internal::Closure.

Public Member Functions

 HostClosure ()=default
 
std::vector< DeviceArgumentarguments ()
 Get a description of the captured arguments. More...
 
- Public Member Functions inherited from Halide::Internal::Closure
 Closure ()=default
 
 Closure (const Closure &)=delete
 
Closureoperator= (const Closure &)=delete
 
 Closure (Closure &&)=default
 
Closureoperator= (Closure &&)=default
 
void include (const Stmt &s, const std::string &loop_variable="")
 Traverse a statement and find all references to external symbols. More...
 
Expr pack_into_struct () const
 Pack a closure into a struct. More...
 
Stmt unpack_from_struct (const Expr &, const Stmt &) const
 Unpack a closure around a Stmt, putting all the names in scope. More...
 
- Public Member Functions inherited from Halide::Internal::IRVisitor
 IRVisitor ()=default
 
virtual ~IRVisitor ()=default
 

Protected Member Functions

void visit (const For *loop) override
 
void visit (const Call *op) override
 
- Protected Member Functions inherited from Halide::Internal::Closure
void visit (const Let *op) override
 
void visit (const LetStmt *op) override
 
void visit (const Load *op) override
 
void visit (const Store *op) override
 
void visit (const Allocate *op) override
 
void visit (const Variable *op) override
 
void visit (const Atomic *op) override
 
void found_buffer_ref (const std::string &name, Type type, bool read, bool written, const Halide::Buffer<> &image)
 
virtual void visit (const IntImm *)
 
virtual void visit (const UIntImm *)
 
virtual void visit (const FloatImm *)
 
virtual void visit (const StringImm *)
 
virtual void visit (const Cast *)
 
virtual void visit (const Reinterpret *)
 
virtual void visit (const Variable *)
 
virtual void visit (const Add *)
 
virtual void visit (const Sub *)
 
virtual void visit (const Mul *)
 
virtual void visit (const Div *)
 
virtual void visit (const Mod *)
 
virtual void visit (const Min *)
 
virtual void visit (const Max *)
 
virtual void visit (const EQ *)
 
virtual void visit (const NE *)
 
virtual void visit (const LT *)
 
virtual void visit (const LE *)
 
virtual void visit (const GT *)
 
virtual void visit (const GE *)
 
virtual void visit (const And *)
 
virtual void visit (const Or *)
 
virtual void visit (const Not *)
 
virtual void visit (const Select *)
 
virtual void visit (const Load *)
 
virtual void visit (const Ramp *)
 
virtual void visit (const Broadcast *)
 
virtual void visit (const Call *)
 
virtual void visit (const Let *)
 
virtual void visit (const LetStmt *)
 
virtual void visit (const AssertStmt *)
 
virtual void visit (const ProducerConsumer *)
 
virtual void visit (const For *)
 
virtual void visit (const Store *)
 
virtual void visit (const Provide *)
 
virtual void visit (const Allocate *)
 
virtual void visit (const Free *)
 
virtual void visit (const Realize *)
 
virtual void visit (const Block *)
 
virtual void visit (const IfThenElse *)
 
virtual void visit (const Evaluate *)
 
virtual void visit (const Shuffle *)
 
virtual void visit (const VectorReduce *)
 
virtual void visit (const Prefetch *)
 
virtual void visit (const Fork *)
 
virtual void visit (const Acquire *)
 
virtual void visit (const Atomic *)
 
- Protected Member Functions inherited from Halide::Internal::IRVisitor
virtual void visit (const IntImm *)
 
virtual void visit (const UIntImm *)
 
virtual void visit (const FloatImm *)
 
virtual void visit (const StringImm *)
 
virtual void visit (const Cast *)
 
virtual void visit (const Reinterpret *)
 
virtual void visit (const Add *)
 
virtual void visit (const Sub *)
 
virtual void visit (const Mul *)
 
virtual void visit (const Div *)
 
virtual void visit (const Mod *)
 
virtual void visit (const Min *)
 
virtual void visit (const Max *)
 
virtual void visit (const EQ *)
 
virtual void visit (const NE *)
 
virtual void visit (const LT *)
 
virtual void visit (const LE *)
 
virtual void visit (const GT *)
 
virtual void visit (const GE *)
 
virtual void visit (const And *)
 
virtual void visit (const Or *)
 
virtual void visit (const Not *)
 
virtual void visit (const Select *)
 
virtual void visit (const Ramp *)
 
virtual void visit (const Broadcast *)
 
virtual void visit (const AssertStmt *)
 
virtual void visit (const ProducerConsumer *)
 
virtual void visit (const Provide *)
 
virtual void visit (const Free *)
 
virtual void visit (const Realize *)
 
virtual void visit (const Block *)
 
virtual void visit (const IfThenElse *)
 
virtual void visit (const Evaluate *)
 
virtual void visit (const Shuffle *)
 
virtual void visit (const VectorReduce *)
 
virtual void visit (const Prefetch *)
 
virtual void visit (const Fork *)
 
virtual void visit (const Acquire *)
 

Additional Inherited Members

- Public Attributes inherited from Halide::Internal::Closure
std::map< std::string, Typevars
 External variables referenced. More...
 
std::map< std::string, Bufferbuffers
 External allocations referenced. More...
 
- Protected Attributes inherited from Halide::Internal::Closure
Scope ignore
 

Detailed Description

A Closure modified to inspect GPU-specific memory accesses, and produce a vector of DeviceArgument objects.

Definition at line 95 of file DeviceArgument.h.

Constructor & Destructor Documentation

◆ HostClosure()

Halide::Internal::HostClosure::HostClosure ( )
default

Member Function Documentation

◆ arguments()

std::vector<DeviceArgument> Halide::Internal::HostClosure::arguments ( )

Get a description of the captured arguments.

◆ visit() [1/2]

void Halide::Internal::HostClosure::visit ( const For loop)
overrideprotectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [2/2]

void Halide::Internal::HostClosure::visit ( const Call op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::IRVisitor.


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