|
Poplar and PopLibs
|
Fully-connected layers using sparse tensors. More...
#include <poplar/Graph.hpp>#include <poplar/OptionFlags.hpp>#include <poplar/Program.hpp>#include <popsparse/FullyConnectedParams.hpp>#include <popsparse/PlanningCache.hpp>#include <popsparse/SparseTensor.hpp>Go to the source code of this file.
Namespaces | |
| namespace | popsparse |
| Support for sparse matrices. | |
| namespace | popsparse::dynamic |
| Support for dynamic sparse matrices. | |
Functions | |
| SparseTensor | popsparse::dynamic::createFullyConnectedWeights (poplar::Graph &graph, const poplar::Type &inputType, const FullyConnectedParams ¶ms, const poplar::DebugContext &debugContext={}, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr) |
| Create a sparse tensor that is used as the weights W for a fully connected layer. More... | |
| poplar::Tensor | popsparse::dynamic::createFullyConnectedInput (poplar::Graph &graph, const poplar::Type &inputType, const FullyConnectedParams ¶ms, const poplar::DebugContext &debugContext={}, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr) |
| Create a dense tensor that is used as the input activations for a fully connected layer. More... | |
| poplar::Tensor | popsparse::dynamic::fullyConnectedFwd (poplar::Graph &graph, const SparseTensor &weights, const poplar::Tensor &activations, const FullyConnectedParams &fcParams, poplar::program::Sequence &prog, const poplar::DebugContext &debugContext={}, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr) |
| Run a fully connected forward (or inference) pass. More... | |
| poplar::Tensor | popsparse::dynamic::fullyConnectedGradA (poplar::Graph &graph, const SparseTensor &weights, const poplar::Tensor &gradients, const FullyConnectedParams &fcParams, poplar::program::Sequence &prog, const poplar::DebugContext &debugContext={}, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr) |
| Run a fully connected GradA pass. More... | |
| poplar::Tensor | popsparse::dynamic::fullyConnectedSparseGradW (poplar::Graph &graph, const poplar::Tensor sparsityMetaInfo, const poplar::Tensor &gradA, const poplar::Tensor &activations, const FullyConnectedParams &fcParams, poplar::program::Sequence &prog, const poplar::DebugContext &debugContext={}, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr) |
| Run a fully connected GradW pass to compute sparse gradients. More... | |
| std::tuple< unsigned, unsigned, unsigned > | popsparse::dynamic::fullyConnectedDenseGradWSerialSplits (const poplar::Graph &graph, const poplar::Type &inputType, const FullyConnectedParams &fcParams, const poplar::OptionFlags &options_={}, PlanningCache *cache=nullptr) |
| Report the serial splitting of a dense gradW output given the memory proportion limit given in options. More... | |
Fully-connected layers using sparse tensors.