SMAUG
Simulating Machine Learning Applications on gem5-Aladdin
|
ReferenceBackend provides reference implementations of all operators supported by SMAUG. More...
#include <backend.h>
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.
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) |