SMAUG
Simulating Machine Learning Applications on gem5-Aladdin
Static Public Member Functions | Static Public Attributes | List of all members
smaug::SmvBackend Class Reference

SmvBackend implements a set of models of optimized DL kernels that were taped out on a machine learning SoC by the Harvard Architecture, Circuits, and Compilers. More...

#include <backend.h>

Detailed Description

SmvBackend implements a set of models of optimized DL kernels that were taped out on a machine learning SoC by the Harvard Architecture, Circuits, and Compilers.

All operators implemented in this backend are vectorized using eight fp16 values. See the individual operators for more details.

Definition at line 178 of file backend.h.

Static Public Member Functions

static int SpadSize ()
 
static void initGlobals ()
 
static void freeGlobals ()
 
static smaug::SmvConvolutionOpcreateConvolutionOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvInnerProductOpcreateInnerProductOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvMaxPoolingOpcreateMaxPoolingOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvAvgPoolingOpcreateAvgPoolingOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvBatchNormOpcreateBatchNormOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvReluOpcreateReluOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvEluOpcreateEluOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvSeluOpcreateSeluOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvTanhOpcreateTanhOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvHardTanhOpcreateHardTanhOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvSigmoidOpcreateSigmoidOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvSoftmaxOpcreateSoftmaxOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvEltwiseAddOpcreateEltwiseAddOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvEltwiseMulOpcreateEltwiseMulOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvLessOpcreateLessOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvLessEqualOpcreateLessEqualOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvGreaterOpcreateGreaterOp (const std::string &name, Workspace *workspace)
 
static smaug::SmvGreaterEqualOpcreateGreaterEqualOp (const std::string &name, Workspace *workspace)
 
static smaug::DataOp< SmvBackend > * createDataOp (const std::string &name, Workspace *workspace)
 
static smaug::DepthwiseConvolutionOp< SmvBackend > * createDepthwiseConvolutionOp (const std::string &name, Workspace *workspace)
 
static smaug::ReorderOp< SmvBackend > * createReorderOp (const std::string &name, Workspace *workspace)
 
static smaug::ConcatOp< SmvBackend > * createConcatOp (const std::string &name, Workspace *workspace)
 
static smaug::SplitOp< SmvBackend > * createSplitOp (const std::string &name, Workspace *workspace)
 
static smaug::ReshapeOp< SmvBackend > * createReshapeOp (const std::string &name, Workspace *workspace)
 
static smaug::RepeatOp< SmvBackend > * createRepeatOp (const std::string &name, Workspace *workspace)
 
static smaug::FlattenOp< SmvBackend > * createFlattenOp (const std::string &name, Workspace *workspace)
 
static smaug::SwitchOp< SmvBackend > * createSwitchOp (const std::string &name, Workspace *workspace)
 
static smaug::MergeOp< SmvBackend > * createMergeOp (const std::string &name, Workspace *workspace)
 
static smaug::PaddingOp< SmvBackend > * createPaddingOp (const std::string &name, Workspace *workspace)
 

Static Public Attributes

static const int Alignment = 8
 
static const bool PrecomputeBNVariance = true
 
static const bool TransposeFCWeights = true
 
static const std::string Name = "SMV"
 
static const DataLayout DefaultInputDataLayout = DataLayout::NHWC
 

The documentation for this class was generated from the following files: