Poplar and PopLibs
Embedding.hpp File Reference

Functions for slicing and mapping sparse tensors. More...

#include <poplar/Graph.hpp>
#include <poplar/Interval.hpp>
#include <popsparse/FullyConnected.hpp>
#include <popsparse/FullyConnectedParams.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

poplar::Tensor popsparse::dynamic::createIndicesTensor (poplar::Graph &graph, const FullyConnectedParams &params, std::size_t numIndices, const poplar::OptionFlags &options={}, const poplar::DebugContext &debugContext={})
 Create and map a tensor to contain indices for slicing/updating a tensor efficiently. More...
 
poplar::Tensor popsparse::dynamic::createSliceTensor (poplar::Graph &graph, const poplar::Type &dataType, const FullyConnectedParams &params, std::size_t numIndices, const poplar::DebugContext &debugContext={}, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr)
 Create and map a tensor to be updated from efficiently. More...
 
poplar::Tensor popsparse::dynamic::embeddingSlice (poplar::Graph &graph, const SparseTensor &t, const poplar::Tensor &indices, poplar::program::Sequence &prog, const FullyConnectedParams &params, const poplar::DebugContext &debugContext={}, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr)
 Take multiple slices from a base tensor. More...
 
void popsparse::dynamic::embeddingUpdateAdd (poplar::Graph &graph, const SparseTensor &t, const poplar::Tensor &slices, const poplar::Tensor &indices, const poplar::Tensor &scale, poplar::program::Sequence &prog, const FullyConnectedParams &params, const poplar::DebugContext &debugContext={}, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr)
 Update a sparse tensor with a set of slices at the given row indices. More...
 

Detailed Description

Functions for slicing and mapping sparse tensors.