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

ReferenceBackend provides reference implementations of all operators supported by SMAUG. More...

#include <backend.h>

Detailed Description

ReferenceBackend provides reference implementations of all operators supported by SMAUG.

Some of these operators are written to be Aladdin-compatible for simulation purposes; others are intended to be executed in software. As the name suggests, these implementations are not optimized in any way.

Definition at line 83 of file backend.h.

Static Public Member Functions

static int SpadSize ()
 
static void initGlobals ()
 
static void freeGlobals ()
 
static smaug::ConvolutionOp< ReferenceBackend > * createConvolutionOp (const std::string &name, Workspace *workspace)
 
static smaug::DataOp< ReferenceBackend > * createDataOp (const std::string &name, Workspace *workspace)
 
static smaug::DepthwiseConvolutionOp< ReferenceBackend > * createDepthwiseConvolutionOp (const std::string &name, Workspace *workspace)
 
static smaug::MaxPoolingOp< ReferenceBackend > * createMaxPoolingOp (const std::string &name, Workspace *workspace)
 
static smaug::AvgPoolingOp< ReferenceBackend > * createAvgPoolingOp (const std::string &name, Workspace *workspace)
 
static smaug::InnerProductOp< ReferenceBackend > * createInnerProductOp (const std::string &name, Workspace *workspace)
 
static smaug::SoftmaxOp< ReferenceBackend > * createSoftmaxOp (const std::string &name, Workspace *workspace)
 
static smaug::ReorderOp< ReferenceBackend > * createReorderOp (const std::string &name, Workspace *workspace)
 
static smaug::ConcatOp< ReferenceBackend > * createConcatOp (const std::string &name, Workspace *workspace)
 
static smaug::SplitOp< ReferenceBackend > * createSplitOp (const std::string &name, Workspace *workspace)
 
static smaug::ReshapeOp< ReferenceBackend > * createReshapeOp (const std::string &name, Workspace *workspace)
 
static smaug::RepeatOp< ReferenceBackend > * createRepeatOp (const std::string &name, Workspace *workspace)
 
static smaug::FlattenOp< ReferenceBackend > * createFlattenOp (const std::string &name, Workspace *workspace)
 
static smaug::BatchNormOp< ReferenceBackend > * createBatchNormOp (const std::string &name, Workspace *workspace)
 
static smaug::EltwiseAddOp< ReferenceBackend > * createEltwiseAddOp (const std::string &name, Workspace *workspace)
 
static smaug::EltwiseMulOp< ReferenceBackend > * createEltwiseMulOp (const std::string &name, Workspace *workspace)
 
static smaug::LessOp< ReferenceBackend > * createLessOp (const std::string &name, Workspace *workspace)
 
static smaug::LessEqualOp< ReferenceBackend > * createLessEqualOp (const std::string &name, Workspace *workspace)
 
static smaug::GreaterOp< ReferenceBackend > * createGreaterOp (const std::string &name, Workspace *workspace)
 
static smaug::GreaterEqualOp< ReferenceBackend > * createGreaterEqualOp (const std::string &name, Workspace *workspace)
 
static smaug::SwitchOp< ReferenceBackend > * createSwitchOp (const std::string &name, Workspace *workspace)
 
static smaug::MergeOp< ReferenceBackend > * createMergeOp (const std::string &name, Workspace *workspace)
 
static smaug::ReluOp< ReferenceBackend > * createReluOp (const std::string &name, Workspace *workspace)
 
static smaug::SigmoidOp< ReferenceBackend > * createSigmoidOp (const std::string &name, Workspace *workspace)
 
static smaug::EluOp< ReferenceBackend > * createEluOp (const std::string &name, Workspace *workspace)
 
static smaug::SeluOp< ReferenceBackend > * createSeluOp (const std::string &name, Workspace *workspace)
 
static smaug::TanhOp< ReferenceBackend > * createTanhOp (const std::string &name, Workspace *workspace)
 
static smaug::HardTanhOp< ReferenceBackend > * createHardTanhOp (const std::string &name, Workspace *workspace)
 
static smaug::PaddingOp< ReferenceBackend > * createPaddingOp (const std::string &name, Workspace *workspace)
 

Static Public Attributes

static const int Alignment = 0
 
static const bool PrecomputeBNVariance = true
 
static const bool TransposeFCWeights = false
 
static const std::string Name = "Reference"
 
static const DataLayout DefaultInputDataLayout = DataLayout::NCHW
 

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