Halide 22.0.0 Halide compiler and libraries

Public Member Functions | List of all members
Halide::Internal::CodeGen_PyTorch Class Reference

This class emits C++ code to wrap a Halide pipeline so that it can be used as a C++ extension operator in PyTorch. More...

`#include <CodeGen_PyTorch.h>`

Inheritance diagram for Halide::Internal::CodeGen_PyTorch:

## Public Member Functions
| CodeGen_PyTorch (std::ostream &dest)
| ~CodeGen_PyTorch () override=default
void | compile (const Module &module)
| Emit the PyTorch C++ wrapper for the Halide pipeline. More...
Public Member Functions inherited from Halide::Internal::IRPrinter
| IRPrinter (std::ostream &)
| Construct an IRPrinter pointed at a given output stream (e.g. More...
void | print (const Expr &)
| emit an expression on the output stream More...
void | print_no_parens (const Expr &)
| Emit an expression on the output stream without enclosing parens. More...
void | print (const Stmt &)
| emit a statement on the output stream More...
void | print_summary (const Stmt &)
| emit a statement summary on the output stream More...
void | print_list (const std::vector< Expr > &exprs)
| emit a comma delimited list of exprs, without any leading or trailing punctuation. More...
Public Member Functions inherited from Halide::Internal::IRVisitor
| IRVisitor ()=default
virtual | ~IRVisitor ()=default

## Additional Inherited Members
Static Public Member Functions inherited from Halide::Internal::IRPrinter
static void | test ()
Protected Member Functions inherited from Halide::Internal::IRPrinter
Indentation | get_indent () const
template<typename T >
Ansi< T > | hl (const T &t)
template<typename T >
Ansi< T > | kw (const T &t)
template<typename T >
Ansi< T > | imm_int (const T &t)
template<typename T >
Ansi< T > | imm_float (const T &t)
template<typename T >
Ansi< T > | imm_str (const T &t)
template<typename T >
Ansi< T > | var (const T &t)
template<typename T >
Ansi< T > | buf (const T &t)
template<typename T >
Ansi< T > | fn (const T &t)
template<typename T >
Ansi< T > | type (const T &t)
template<typename T >
Ansi< T > | typep (const T &t)
template<typename T >
Ansi< T > | paren (const T &t, bool bold=true, int d=-1)
void | open ()
| Either emits "(" or "", depending on the value of implicit_parens. More...
void | close ()
| Either emits ")" or "", depending on the value of implicit_parens. More...
void | openf ()
| Emits "(" always. More...
void | openf (const char *name)
| Emits "name(" always. More...
void | closef ()
| Emits ")" always. More...
void | print_lets (const Let *let)
| A helper for printing a chain of lets with line breaks. More...
void | print_braced_stmt (const Stmt &, int extra_indent=2)
| A helper for printing a braced statement. More...
void | visit (const IntImm *) override
void | visit (const UIntImm *) override
void | visit (const FloatImm *) override
void | visit (const StringImm *) override
void | visit (const Cast *) override
void | visit (const Reinterpret *) override
void | visit (const Variable *) override
void | visit (const Add *) override
void | visit (const Sub *) override
void | visit (const Mul *) override
void | visit (const Div *) override
void | visit (const Mod *) override
void | visit (const Min *) override
void | visit (const Max *) override
void | visit (const EQ *) override
void | visit (const NE *) override
void | visit (const LT *) override
void | visit (const LE *) override
void | visit (const GT *) override
void | visit (const GE *) override
void | visit (const And *) override
void | visit (const Or *) override
void | visit (const Not *) override
void | visit (const Select *) override
void | visit (const Load *) override
void | visit (const Ramp *) override
void | visit (const Broadcast *) override
void | visit (const Call *) override
void | visit (const Let *) override
void | visit (const LetStmt *) override
void | visit (const AssertStmt *) override
void | visit (const ProducerConsumer *) override
void | visit (const For *) override
void | visit (const Acquire *) override
void | visit (const Store *) override
void | visit (const Provide *) override
void | visit (const Allocate *) override
void | visit (const Free *) override
void | visit (const Realize *) override
void | visit (const Block *) override
void | visit (const Fork *) override
void | visit (const IfThenElse *) override
void | visit (const Evaluate *) override
void | visit (const Shuffle *) override
void | visit (const VectorReduce *) override
void | visit (const Prefetch *) override
void | visit (const Atomic *) override
void | visit (const HoistedStorage *) override
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 *)
virtual void | visit (const HoistedStorage *)
Protected Attributes inherited from Halide::Internal::IRPrinter
std::ostream & | stream
| The stream on which we're outputting. More...
int | indent = 0
| The current indentation level, useful for pretty-printing statements. More...
bool | implicit_parens = false
| Certain expressions do not need parens around them, e.g. More...
bool | is_summary = false
| Print only a summary of a statement, with sub-statements replaced by ellipses (...). More...
bool | ansi = false
int | paren_depth = 0
const char * | ansi_hl = ""
const char * | ansi_dim = ""
const char * | ansi_kw = ""
const char * | ansi_imm_int = ""
const char * | ansi_imm_float = ""
const char * | ansi_imm_str = ""
const char * | ansi_var = ""
const char * | ansi_buf = ""
const char * | ansi_fn = ""
const char * | ansi_type = ""
const char * | ansi_reset_col = ""
const char * | ansi_reset = ""
Scope | known_type
| The symbols whose types can be inferred from values printed already. More...

## Detailed Description

This class emits C++ code to wrap a Halide pipeline so that it can be used as a C++ extension operator in PyTorch.

Definition at line 29 of file CodeGen_PyTorch.h.

## Constructor & Destructor Documentation

## ◆ CodeGen_PyTorch()

Halide::Internal::CodeGen_PyTorch::CodeGen_PyTorch | ( | std::ostream & | dest | ) |

## ◆ ~CodeGen_PyTorch()

Halide::Internal::CodeGen_PyTorch::~CodeGen_PyTorch | ( |  | ) |
| override default

## Member Function Documentation

## ◆ compile()

void Halide::Internal::CodeGen_PyTorch::compile | ( | const Module & | module | ) |

Emit the PyTorch C++ wrapper for the Halide pipeline.

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

- src/CodeGen_PyTorch.h