|
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) |
1.8.18