MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::plug::tensor Namespace Reference

The tensor Plugin More...

Namespaces

namespace  phase

Enumerations

%tensor.Ring
enum class  Ring : flags_t
%tensor.proj_map
enum class  proj_map : flags_t
%tensor.repeat_impl
enum class  repeat_impl : flags_t
%tensor.reshape_impl
enum class  reshape_impl : flags_t
%tensor.slice_impl
enum class  slice_impl : flags_t
%tensor.flip_impl
enum class  flip_impl : flags_t
%tensor.conv
enum class  conv : flags_t
%tensor.conv_impl
enum class  conv_impl : flags_t
%tensor.pool
enum class  pool : flags_t
%tensor.pool_impl
enum class  pool_impl : flags_t
%tensor.dot_product
enum class  dot_product : flags_t
%tensor.dot_product_impl
enum class  dot_product_impl : flags_t
%tensor.product_2d
enum class  product_2d : flags_t
%tensor.product_2d_impl
enum class  product_2d_impl : flags_t
%tensor.bmm
enum class  bmm : flags_t
%tensor.bmm_impl
enum class  bmm_impl : flags_t
%tensor.transpose
enum class  transpose : flags_t
%tensor.transpose_impl
enum class  transpose_impl : flags_t
%tensor.transpose_2d
enum class  transpose_2d : flags_t
%tensor.transpose_2d_impl
enum class  transpose_2d_impl : flags_t
%tensor.broadcast_in_dim_impl
enum class  broadcast_in_dim_impl : flags_t
%tensor.map
enum class  map : flags_t
%tensor.map_impl
enum class  map_impl : flags_t
%tensor.unary
enum class  unary : flags_t
%tensor.unary_impl
enum class  unary_impl : flags_t
%tensor.binary
enum class  binary : flags_t
%tensor.binary_impl
enum class  binary_impl : flags_t
%tensor.select
enum class  select : flags_t
%tensor.select_impl
enum class  select_impl : flags_t
%tensor.lower_tensor
enum class  lower_tensor : flags_t
%tensor.lower_map_reduce
enum class  lower_map_reduce : flags_t
%tensor.lower_get_set
enum class  lower_get_set : flags_t
%tensor.fuse_tensor
enum class  fuse_tensor : flags_t
%tensor.lower_to_mem
enum class  lower_to_mem : flags_t

Functions

const Defop_get (const Def *T, const Def *r, const Def *s, const Def *arr, const Def *index)
const Defop_set (const Def *T, const Def *r, const Def *s, const Def *arr, const Def *index, const Def *x)
std::tuple< u64, const Def *, const Def * > fold_shape_and_index (const Def *shape, const Def *index)
void reg_phases (Flags2Phases &phases)
void register_normalizers (Normalizers &normalizers)

Variables

static constexpr plugin_t Plugin_Id = 0x5463d44130000000

%tensor.get

enum class  get : flags_t
const Defnormalize_get (const Def *, const Def *c, const Def *arg)

%tensor.set

enum class  set : flags_t
const Defnormalize_set (const Def *, const Def *c, const Def *arg)

%tensor.shape

enum class  shape : flags_t
const Defnormalize_shape (const Def *, const Def *c, const Def *arg)

%tensor.map_reduce

enum class  map_reduce : flags_t
const Defnormalize_map_reduce (const Def *, const Def *, const Def *)

%tensor.repeat

enum class  repeat : flags_t
const Defnormalize_repeat (const Def *, const Def *c, const Def *arg)

%tensor.reshape

enum class  reshape : flags_t
const Defnormalize_reshape (const Def *, const Def *c, const Def *arg)

%tensor.slice

enum class  slice : flags_t
const Defnormalize_slice (const Def *, const Def *c, const Def *arg)

%tensor.flip

enum class  flip : flags_t
const Defnormalize_flip (const Def *, const Def *, const Def *)

%tensor.pad

enum class  pad : flags_t
const Defnormalize_pad (const Def *, const Def *c, const Def *arg)

%tensor.concat

enum class  concat : flags_t
const Defnormalize_concat (const Def *, const Def *, const Def *)

%tensor.broadcast

enum class  broadcast : flags_t
const Defnormalize_broadcast (const Def *, const Def *c, const Def *arg)

%tensor.broadcast_in_dim

enum class  broadcast_in_dim : flags_t
const Defnormalize_broadcast_in_dim (const Def *, const Def *, const Def *)

Detailed Description

Enumeration Type Documentation

◆ binary

enum class mim::plug::tensor::binary : flags_t
strong

Definition at line 285 of file autogen.h.

◆ binary_impl

Definition at line 292 of file autogen.h.

◆ bmm

enum class mim::plug::tensor::bmm : flags_t
strong

Definition at line 192 of file autogen.h.

◆ bmm_impl

enum class mim::plug::tensor::bmm_impl : flags_t
strong

Definition at line 199 of file autogen.h.

◆ broadcast

Definition at line 234 of file autogen.h.

◆ broadcast_in_dim

Definition at line 242 of file autogen.h.

◆ broadcast_in_dim_impl

Definition at line 250 of file autogen.h.

◆ concat

enum class mim::plug::tensor::concat : flags_t
strong

Definition at line 128 of file autogen.h.

◆ conv

enum class mim::plug::tensor::conv : flags_t
strong

Definition at line 136 of file autogen.h.

◆ conv_impl

Definition at line 143 of file autogen.h.

◆ dot_product

Definition at line 164 of file autogen.h.

◆ dot_product_impl

Definition at line 171 of file autogen.h.

◆ flip

enum class mim::plug::tensor::flip : flags_t
strong

Definition at line 105 of file autogen.h.

◆ flip_impl

Definition at line 113 of file autogen.h.

◆ fuse_tensor

Definition at line 334 of file autogen.h.

◆ get

enum class mim::plug::tensor::get : flags_t
strong

Definition at line 21 of file autogen.h.

◆ lower_get_set

Definition at line 327 of file autogen.h.

◆ lower_map_reduce

Definition at line 320 of file autogen.h.

◆ lower_tensor

Definition at line 313 of file autogen.h.

◆ lower_to_mem

Definition at line 341 of file autogen.h.

◆ map

enum class mim::plug::tensor::map : flags_t
strong

Definition at line 257 of file autogen.h.

◆ map_impl

enum class mim::plug::tensor::map_impl : flags_t
strong

Definition at line 264 of file autogen.h.

◆ map_reduce

Definition at line 45 of file autogen.h.

◆ pad

enum class mim::plug::tensor::pad : flags_t
strong

Definition at line 120 of file autogen.h.

◆ pool

enum class mim::plug::tensor::pool : flags_t
strong

Definition at line 150 of file autogen.h.

◆ pool_impl

Definition at line 157 of file autogen.h.

◆ product_2d

Definition at line 178 of file autogen.h.

◆ product_2d_impl

Definition at line 185 of file autogen.h.

◆ proj_map

enum class mim::plug::tensor::proj_map : flags_t
strong

Definition at line 53 of file autogen.h.

◆ repeat

enum class mim::plug::tensor::repeat : flags_t
strong

Definition at line 60 of file autogen.h.

◆ repeat_impl

Definition at line 68 of file autogen.h.

◆ reshape

enum class mim::plug::tensor::reshape : flags_t
strong

Definition at line 75 of file autogen.h.

◆ reshape_impl

Definition at line 83 of file autogen.h.

◆ Ring

enum class mim::plug::tensor::Ring : flags_t
strong

Definition at line 14 of file autogen.h.

◆ select

enum class mim::plug::tensor::select : flags_t
strong

Definition at line 299 of file autogen.h.

◆ select_impl

Definition at line 306 of file autogen.h.

◆ set

enum class mim::plug::tensor::set : flags_t
strong

Definition at line 29 of file autogen.h.

◆ shape

enum class mim::plug::tensor::shape : flags_t
strong

Definition at line 37 of file autogen.h.

◆ slice

enum class mim::plug::tensor::slice : flags_t
strong

Definition at line 90 of file autogen.h.

◆ slice_impl

Definition at line 98 of file autogen.h.

◆ transpose

Definition at line 206 of file autogen.h.

◆ transpose_2d

Definition at line 220 of file autogen.h.

◆ transpose_2d_impl

Definition at line 227 of file autogen.h.

◆ transpose_impl

Definition at line 213 of file autogen.h.

◆ unary

enum class mim::plug::tensor::unary : flags_t
strong

Definition at line 271 of file autogen.h.

◆ unary_impl

Definition at line 278 of file autogen.h.

Function Documentation

◆ fold_shape_and_index()

std::tuple< u64, const Def *, const Def * > mim::plug::tensor::fold_shape_and_index ( const Def * shape,
const Def * index )

Definition at line 20 of file normalizers.cpp.

References mim::Lit::isa().

Referenced by normalize_get(), and normalize_set().

◆ normalize_broadcast()

const Def * mim::plug::tensor::normalize_broadcast ( const Def * ,
const Def * c,
const Def * arg )

Definition at line 203 of file normalizers.cpp.

References mim::Lit::isa(), and mim::Def::projs().

◆ normalize_broadcast_in_dim()

const Def * mim::plug::tensor::normalize_broadcast_in_dim ( const Def * ,
const Def * ,
const Def *  )

Definition at line 225 of file normalizers.cpp.

◆ normalize_concat()

const Def * mim::plug::tensor::normalize_concat ( const Def * ,
const Def * ,
const Def *  )

Definition at line 277 of file normalizers.cpp.

◆ normalize_flip()

const Def * mim::plug::tensor::normalize_flip ( const Def * ,
const Def * ,
const Def *  )

Definition at line 261 of file normalizers.cpp.

◆ normalize_get()

const Def * mim::plug::tensor::normalize_get ( const Def * ,
const Def * c,
const Def * arg )

◆ normalize_map_reduce()

const Def * mim::plug::tensor::normalize_map_reduce ( const Def * ,
const Def * ,
const Def *  )

Definition at line 227 of file normalizers.cpp.

◆ normalize_pad()

const Def * mim::plug::tensor::normalize_pad ( const Def * ,
const Def * c,
const Def * arg )

Definition at line 263 of file normalizers.cpp.

References mim::Lit::isa(), and mim::Def::proj().

◆ normalize_repeat()

const Def * mim::plug::tensor::normalize_repeat ( const Def * ,
const Def * c,
const Def * arg )

Definition at line 232 of file normalizers.cpp.

◆ normalize_reshape()

const Def * mim::plug::tensor::normalize_reshape ( const Def * ,
const Def * c,
const Def * arg )

Definition at line 239 of file normalizers.cpp.

◆ normalize_set()

const Def * mim::plug::tensor::normalize_set ( const Def * ,
const Def * c,
const Def * arg )

◆ normalize_shape()

const Def * mim::plug::tensor::normalize_shape ( const Def * ,
const Def * c,
const Def * arg )

Definition at line 279 of file normalizers.cpp.

References mim::App::arg(), mim::Lit::isa(), and mim::Def::type().

◆ normalize_slice()

const Def * mim::plug::tensor::normalize_slice ( const Def * ,
const Def * c,
const Def * arg )

Definition at line 246 of file normalizers.cpp.

References mim::Lit::isa().

◆ op_get()

const Def * mim::plug::tensor::op_get ( const Def * T,
const Def * r,
const Def * s,
const Def * arr,
const Def * index )
inline

Definition at line 9 of file tensor.h.

References mim::Def::world().

Referenced by mim::plug::tensor::phase::nested_extract(), and normalize_get().

◆ op_set()

const Def * mim::plug::tensor::op_set ( const Def * T,
const Def * r,
const Def * s,
const Def * arr,
const Def * index,
const Def * x )
inline

Definition at line 17 of file tensor.h.

References mim::Def::world().

Referenced by mim::plug::tensor::phase::nested_insert(), and normalize_set().

◆ reg_phases()

void mim::plug::tensor::reg_phases ( Flags2Phases & phases)

Definition at line 15 of file tensor.cpp.

References mim::Phase::hook().

Referenced by mim_get_plugin().

◆ register_normalizers()

void mim::plug::tensor::register_normalizers ( Normalizers & normalizers)

Referenced by mim_get_plugin().

Variable Documentation

◆ Plugin_Id

plugin_t mim::plug::tensor::Plugin_Id = 0x5463d44130000000
staticconstexpr

Definition at line 10 of file autogen.h.