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

The btensor Plugin More...

Namespaces

namespace  phase

Enumerations

%btensor.Ring
enum class  Ring : flags_t
%btensor.id
enum class  id : flags_t
%btensor.map_reduce_post
enum class  map_reduce_post : flags_t
%btensor.mk_sched
enum class  mk_sched : flags_t
%btensor.proj_map
enum class  proj_map : flags_t
%btensor.broadcast
enum class  broadcast : flags_t
%btensor.concat
enum class  concat : flags_t
%btensor.pad
enum class  pad : flags_t
%btensor.transpose_2d
enum class  transpose_2d : flags_t
%btensor.product_2d
enum class  product_2d : flags_t
%btensor.gather
enum class  gather : flags_t
%btensor.scatter
enum class  scatter : flags_t
%btensor.NestT
enum class  NestT : flags_t
%btensor.mr_nest
enum class  mr_nest : flags_t
%btensor.lower_map_reduce
enum class  lower_map_reduce : flags_t

Functions

void register_normalizers (Normalizers &normalizers)

Variables

static constexpr plugin_t Plugin_Id = 0xd518f5104c00000

%btensor.map_reduce

enum class  map_reduce : flags_t
const Defnormalize_map_reduce (const Def *, const Def *c, const Def *arg)
 btensor.map_reduce is btensor.map_reduce_post without the epilogue and with the neutral schedule: delegate with post = btensor.id (so Tp = To), no epilogue inputs (nps = 0), no vector dim (vdim = Rn, the out-of-range sentinel), and no unrolling.

Detailed Description

Enumeration Type Documentation

◆ broadcast

Definition at line 57 of file autogen.h.

◆ concat

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

Definition at line 64 of file autogen.h.

◆ gather

enum class mim::plug::btensor::gather : flags_t
strong

Definition at line 92 of file autogen.h.

◆ id

enum class mim::plug::btensor::id : flags_t
strong

Definition at line 21 of file autogen.h.

◆ lower_map_reduce

Definition at line 120 of file autogen.h.

◆ map_reduce

Definition at line 28 of file autogen.h.

◆ map_reduce_post

Definition at line 36 of file autogen.h.

◆ mk_sched

Definition at line 43 of file autogen.h.

◆ mr_nest

enum class mim::plug::btensor::mr_nest : flags_t
strong

Definition at line 113 of file autogen.h.

◆ NestT

enum class mim::plug::btensor::NestT : flags_t
strong

Definition at line 106 of file autogen.h.

◆ pad

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

Definition at line 71 of file autogen.h.

◆ product_2d

Definition at line 85 of file autogen.h.

◆ proj_map

Definition at line 50 of file autogen.h.

◆ Ring

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

Definition at line 14 of file autogen.h.

◆ scatter

enum class mim::plug::btensor::scatter : flags_t
strong

Definition at line 99 of file autogen.h.

◆ transpose_2d

Definition at line 78 of file autogen.h.

Function Documentation

◆ normalize_map_reduce()

const Def * mim::plug::btensor::normalize_map_reduce ( const Def * ,
const Def * c,
const Def * arg )

btensor.map_reduce is btensor.map_reduce_post without the epilogue and with the neutral schedule: delegate with post = btensor.id (so Tp = To), no epilogue inputs (nps = 0), no vector dim (vdim = Rn, the out-of-range sentinel), and no unrolling.

The delegation lives in a normalizer (rather than a wrapping lam) so that call sites keep axm-style implicit inference: the stuck axm application lets the checker solve the {Tis, Ris, Sis} holes from the operands, whereas applying a lam would eagerly β-reduce buffer.Buf over still-unsolved holes.

Definition at line 14 of file normalizers.cpp.

References normalize_map_reduce(), and mim::Def::projs().

Referenced by normalize_map_reduce().

◆ register_normalizers()

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

Variable Documentation

◆ Plugin_Id

plugin_t mim::plug::btensor::Plugin_Id = 0xd518f5104c00000
staticconstexpr

Definition at line 10 of file autogen.h.