|
SMAUG
Simulating Machine Learning Applications on gem5-Aladdin
|
SMV backend implementation of convolution. More...
#include <smv_convolution_op.h>
SMV backend implementation of convolution.
The dataflow is inspired by the NVDLA convolution engine.
Definition at line 27 of file smv_convolution_op.h.
Public Member Functions | |
| void | tile () override |
| void | run () override |
Public Member Functions inherited from smaug::ConvolutionOp< SmvBackend > | |
| ConvolutionOp (const std::string &name, Workspace *workspace) | |
| void | setWeightDims (int _weightRows, int _weightCols, int _numOfmaps) |
| void | setStride (int _rowStride, int _colStride) |
| void | setPadding (PaddingType padding) |
| bool | validate () override |
| virtual TensorShape | inferOutputShape () const |
| virtual TensorShape | inferWeightsShape () const |
| void | createWeightsTensors () |
| Create placeholder tensors for weights, assuming any data layout is okay. | |
| void | createOutputTensors () |
| void | createAllTensors () override |
| int | getNumOfmaps () const |
| void | run () override |
| void | run () |
| int | getNumParameters () const override |
| std::vector< TensorBase * > | getParameterizableInputs () override |
| int | getRowStride () const |
| int | getColStride () const |
| int | getWeightRows () const |
| int | getWeightCols () const |
| PaddingType | getPadding () const |
| std::vector< int > | getInputPadding () const |
| Compute padding sizes on the row/column boundaries of the input feature map. | |
| bool | isSamplingSupported () const override |
| void | setSamplingInfo (const SamplingInfo &_sampling) override |
Protected Member Functions | |
| void | runNHWC (TiledTensor &inputs, TiledTensor &weights, TiledTensor &outputs) |
| Tiling scheduler for this operator. | |
| std::unique_ptr< volatile int > | invokeSystolicArrayKernel (unsigned accelId, float16 *inputs, float16 *weights, float16 *outputs, int inputsDims[4], int weightsDims[4], int outputsDims[4], int inputsPad, int weightsPad, int outputPad, int inputHaloPad[4], int stride, int ifmapStart, int kernStart, bool accumulate, bool readInputs, bool readWeights, bool sendResults, ActivationInfo *actInfo) |
Protected Member Functions inherited from smaug::ConvolutionOp< SmvBackend > | |
| int | computeOutputDim (int inputDim, int weightDim, int stride, PaddingType pad) const |
| int | computeOutputDim (int inputDim, int weightDim, int stride, int padding) const |
Protected Attributes | |
| std::array< TiledTensor, 3 > | tiledTensors |
Protected Attributes inherited from smaug::ConvolutionOp< SmvBackend > | |
| int | weightRows |
| int | weightCols |
| int | numOfmaps |
| int | rowStride |
| int | colStride |
| PaddingType | paddingType |
| std::string | weightsName |
| SamplingInfo | sampling |
Friends | |
| class | smv::conv::TilingOptimizer |
Additional Inherited Members | |
Public Types inherited from smaug::ConvolutionOp< SmvBackend > | |
| enum | |
| enum | |
1.8.18