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.map_reduce_ds
enum class  map_reduce_ds : flags_t
%tensor.map_reduce_ds_impl
enum class  map_reduce_ds_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.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.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.fuse_tensor
enum class  fuse_tensor : 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_stages (Flags2Stages &stages)
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.map_reduce

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

%tensor.map_reduce_aff

enum class  map_reduce_aff : flags_t
const Defnormalize_map_reduce_aff (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 167 of file autogen.h.

◆ binary_impl

Definition at line 174 of file autogen.h.

◆ broadcast

Definition at line 123 of file autogen.h.

◆ broadcast_in_dim

Definition at line 131 of file autogen.h.

◆ dot_product

Definition at line 67 of file autogen.h.

◆ dot_product_impl

Definition at line 74 of file autogen.h.

◆ fuse_tensor

Definition at line 209 of file autogen.h.

◆ get

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

Definition at line 21 of file autogen.h.

◆ lower_map_reduce

Definition at line 202 of file autogen.h.

◆ lower_tensor

Definition at line 195 of file autogen.h.

◆ map

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

Definition at line 139 of file autogen.h.

◆ map_impl

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

Definition at line 146 of file autogen.h.

◆ map_reduce

Definition at line 37 of file autogen.h.

◆ map_reduce_aff

Definition at line 59 of file autogen.h.

◆ map_reduce_ds

Definition at line 45 of file autogen.h.

◆ map_reduce_ds_impl

Definition at line 52 of file autogen.h.

◆ product_2d

Definition at line 81 of file autogen.h.

◆ product_2d_impl

Definition at line 88 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 181 of file autogen.h.

◆ select_impl

Definition at line 188 of file autogen.h.

◆ set

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

Definition at line 29 of file autogen.h.

◆ transpose

Definition at line 95 of file autogen.h.

◆ transpose_2d

Definition at line 109 of file autogen.h.

◆ transpose_2d_impl

Definition at line 116 of file autogen.h.

◆ transpose_impl

Definition at line 102 of file autogen.h.

◆ unary

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

Definition at line 153 of file autogen.h.

◆ unary_impl

Definition at line 160 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 19 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 151 of file normalizers.cpp.

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

◆ normalize_broadcast_in_dim()

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

Definition at line 173 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 175 of file normalizers.cpp.

◆ normalize_map_reduce_aff()

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

Definition at line 180 of file normalizers.cpp.

◆ normalize_set()

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

◆ 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 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 normalize_set().

◆ reg_stages()

void mim::plug::tensor::reg_stages ( Flags2Stages & stages)

Definition at line 13 of file tensor.cpp.

References mim::Stage::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.