SMAUG
Simulating Machine Learning Applications on gem5-Aladdin
|
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>
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.
Static Public Member Functions | |
static int | SpadSize () |
static void | initGlobals () |
static void | freeGlobals () |
static smaug::SmvConvolutionOp * | createConvolutionOp (const std::string &name, Workspace *workspace) |
static smaug::SmvInnerProductOp * | createInnerProductOp (const std::string &name, Workspace *workspace) |
static smaug::SmvMaxPoolingOp * | createMaxPoolingOp (const std::string &name, Workspace *workspace) |
static smaug::SmvAvgPoolingOp * | createAvgPoolingOp (const std::string &name, Workspace *workspace) |
static smaug::SmvBatchNormOp * | createBatchNormOp (const std::string &name, Workspace *workspace) |
static smaug::SmvReluOp * | createReluOp (const std::string &name, Workspace *workspace) |
static smaug::SmvEluOp * | createEluOp (const std::string &name, Workspace *workspace) |
static smaug::SmvSeluOp * | createSeluOp (const std::string &name, Workspace *workspace) |
static smaug::SmvTanhOp * | createTanhOp (const std::string &name, Workspace *workspace) |
static smaug::SmvHardTanhOp * | createHardTanhOp (const std::string &name, Workspace *workspace) |
static smaug::SmvSigmoidOp * | createSigmoidOp (const std::string &name, Workspace *workspace) |
static smaug::SmvSoftmaxOp * | createSoftmaxOp (const std::string &name, Workspace *workspace) |
static smaug::SmvEltwiseAddOp * | createEltwiseAddOp (const std::string &name, Workspace *workspace) |
static smaug::SmvEltwiseMulOp * | createEltwiseMulOp (const std::string &name, Workspace *workspace) |
static smaug::SmvLessOp * | createLessOp (const std::string &name, Workspace *workspace) |
static smaug::SmvLessEqualOp * | createLessEqualOp (const std::string &name, Workspace *workspace) |
static smaug::SmvGreaterOp * | createGreaterOp (const std::string &name, Workspace *workspace) |
static smaug::SmvGreaterEqualOp * | createGreaterEqualOp (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) |