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

Inner product operator on SMV. More...

#include <smv_inner_product_op.h>

Inheritance diagram for smaug::SmvInnerProductOp:
smaug::InnerProductOp< SmvBackend >

Detailed Description

Inner product operator on SMV.

SMV supports C = A x B_tranpose. Elements are 8-way vectorized.

Definition at line 28 of file smv_inner_product_op.h.

Public Member Functions

void tile () override
 
void run () override
 
- Public Member Functions inherited from smaug::InnerProductOp< SmvBackend >
 InnerProductOp (const std::string &name, Workspace *workspace)
 
void setNumOutputs (int _outputs)
 
void run () override
 
void run ()
 
bool validate () override
 
TensorShape inferOutputShape () const
 
TensorShape inferWeightsShape () const
 
void createWeightsTensors ()
 
void createOutputTensors ()
 
void createAllTensors () override
 
int getNumOutputs () const
 
int getNumParameters () const override
 
std::vector< TensorBase * > getParameterizableInputs () override
 
bool isSamplingSupported () const override
 
void setSamplingInfo (const SamplingInfo &_sampling) override
 

Protected Member Functions

void runNWA (TiledTensor &inputs, TiledTensor &weights, TiledTensor &outputs)
 

Protected Attributes

std::array< TiledTensor, 3 > tiledTensors
 
- Protected Attributes inherited from smaug::InnerProductOp< SmvBackend >
int numOutputs
 
bool weightsTensorsCreated
 
bool outputTensorsCreated
 
std::string weightsName
 
SamplingInfo sampling
 

Friends

class smv::fc::TilingOptimizer
 

Additional Inherited Members

- Public Types inherited from smaug::InnerProductOp< SmvBackend >
enum  
 
enum  
 

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