Halide 22.0.0 Halide compiler and libraries

Loading...
Searching...
No Matches
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.
Public Member Functions inherited from Halide::Internal::IRPrinter
| IRPrinter (std::ostream &)
| Construct an IRPrinter pointed at a given output stream (e.g.
void | print (const Expr &)
| emit an expression on the output stream
void | print_no_parens (const Expr &)
| Emit an expression on the output stream without enclosing parens.
void | print (const Stmt &)
| emit a statement on the output stream
void | print_summary (const Stmt &)
| emit a statement summary on the output stream
void | print_list (const std::vector< Expr > &exprs)
| emit a comma delimited list of exprs, without any leading or trailing punctuation.
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.
void | close ()
| Either emits ")" or "", depending on the value of implicit_parens.
void | openf ()
| Emits "(" always.
void | openf (const char *name)
| Emits "name(" always.
void | closef ()
| Emits ")" always.
void | print_lets (const Let *let)
| A helper for printing a chain of lets with line breaks.
void | print_braced_stmt (const Stmt &, int extra_indent=2)
| A helper for printing a braced statement.
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
Protected Attributes inherited from Halide::Internal::IRPrinter
std::ostream & | stream
| The stream on which we're outputting.
int | indent = 0
| The current indentation level, useful for pretty-printing statements.
bool | implicit_parens = false
| Certain expressions do not need parens around them, e.g.
bool | is_summary = false
| Print only a summary of a statement, with sub-statements replaced by ellipses (...).
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.

## 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