Poplar and PopLibs
FullyConnected.hpp
Go to the documentation of this file.
1// Copyright (c) 2019 Graphcore Ltd. All rights reserved.
9#ifndef poplin_FullyConnected_hpp
10#define poplin_FullyConnected_hpp
11
12#include "poplin/MatMul.hpp"
13
14namespace poplin {
15namespace fc {
16
23 std::size_t numGroups;
25 std::size_t batchSize;
27 std::size_t inputSize;
29 std::size_t outputSize;
30};
31
49std::vector<std::pair<MatMulParams, poplar::OptionFlags>>
51 poplar::OptionFlags matmulOptions, poplar::Type type,
52 bool inferenceOnly);
53
54} // namespace fc
55} // namespace poplin
56
57#endif // poplin_FullyConnected_hpp
A set of option/value string flags to be used in various APIs.
Definition: OptionFlags.hpp:24
Class representing device data types.
Definition: Type.hpp:42
Linear algebra functions.
Definition: Cholesky.hpp:14
std::vector< std::pair< MatMulParams, poplar::OptionFlags > > 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 corr...
Functions and data types for performing matrix multiplies on the IPU.
Parameters to describe a fully-connected layer.
Definition: FullyConnected.hpp:18
std::size_t outputSize
Size of the output in each batch from the layer.
Definition: FullyConnected.hpp:29
std::size_t numGroups
The number of groups (where each group represents a fully-connected layer of the same shape) that ope...
Definition: FullyConnected.hpp:23
std::size_t inputSize
Size of the input in each batch into the layer.
Definition: FullyConnected.hpp:27
std::size_t batchSize
Number of samples in the input to the layer.
Definition: FullyConnected.hpp:25