SMAUG
Simulating Machine Learning Applications on gem5-Aladdin
Namespaces | Classes | Enumerations | Functions | Variables
smaug::smv Namespace Reference

The smv namespace contains all code specific to the Smv backend. More...

Namespaces

 bn
 Contains batch-norm implementations and tiling optimizers for SMV.
 
 conv
 Contains convolution implementations and tiling optimizers for SMV.
 
 fc
 Contains implementations of inner product on SMV and related functions.
 
 pool
 Contains pooling operators and tiling optimizers for SMV.
 
 unary
 Contains common functions for working with unary operators.
 

Classes

struct  TilingConfig
 A TilingConfig describes tiling strategies and optimal tile sizes for inputs, weights, and outputs Tensors. More...
 
class  TilingOptimizerBase
 

Enumerations

enum  TilingDims {
  None, DimN, DimNC, DimNH,
  DimNW, DimNHW, DimNCH, DimNCW,
  Invalid
}
 The set of supported tiling strategies. More...
 

Functions

std::ostream & operator<< (std::ostream &os, const TilingDims &dims)
 
std::ostream & operator<< (std::ostream &os, const TilingConfig &config)
 
bool needsNwiseTiling (TilingDims dim)
 
bool needsCwiseTiling (TilingDims dim)
 
bool needsHwiseTiling (TilingDims dim)
 
bool needsWwiseTiling (TilingDims dim)
 

Variables

int kSpadSize
 
const unsigned kConvolutionHw = 0x0003
 
const unsigned kInnerProductHw = 0x0003
 
const unsigned kEltwiseOpHw = 0x0003
 
const unsigned kBatchNormHw = 0x0003
 
const unsigned kPoolingHw = 0x0003
 
const unsigned kSystolicArrayHw = 0x0004
 
float * spad0
 
float * spad1
 
float * spad2
 

Detailed Description

The smv namespace contains all code specific to the Smv backend.

Enumeration Type Documentation

◆ TilingDims

The set of supported tiling strategies.

Each strategy indicates along which set of dimensions a Tensor should be tiled along.

Definition at line 13 of file smv_tiling_common.h.