Poplar and PopLibs
FullyConnected.hpp File Reference

Functions and data types to for performing operations on fully-connected layers. More...

#include "poplin/MatMul.hpp"

Go to the source code of this file.

Classes

struct  poplin::fc::FullyConnectedParams
 Parameters to describe a fully-connected layer. More...
 

Namespaces

namespace  poplin
 Linear algebra functions.
 

Functions

std::vector< std::pair< MatMulParams, poplar::OptionFlags > > poplin::fc::getMatMulPrePlanParameters (FullyConnectedParams parameters, poplar::OptionFlags matmulOptions, poplar::Type type, bool inferenceOnly)
 Predict what matrix multiplications will be needed for the given parameters and return a list of corresponding matmul() parameters and options. More...
 

Detailed Description

Functions and data types to for performing operations on fully-connected layers.

Function Documentation

◆ getMatMulPrePlanParameters()

std::vector< std::pair< MatMulParams, poplar::OptionFlags > > poplin::fc::getMatMulPrePlanParameters ( FullyConnectedParams  parameters,
poplar::OptionFlags  matmulOptions,
poplar::Type  type,
bool  inferenceOnly 
)

Predict what matrix multiplications will be needed for the given parameters and return a list of corresponding matmul() parameters and options.

Parameters
parametersParameters for the fully-connected layer.
matmulOptionsOption flags are the same as those from matmul(). They are passed through to the underlying matmul, updating the fullyConnectedPass option only.
typeInput and output datatype.
inferenceOnlyWhether the fully-connected layer is for inference only. If true, we can ignore backwards and weight-update passes.
Returns
Vector of pairs of [MatMulParams, OptionFlags] representing the complete set of matmul parameters for planning.