Poplar and PopLibs
TriangularSolve.hpp File Reference

Solving linear equations using triangular matrices. More...

#include <poplar/Graph.hpp>
#include <poplar/Program.hpp>
#include <poplin/MatMul.hpp>

Go to the source code of this file.

Namespaces

namespace  poplin
 Linear algebra functions.
 

Functions

poplar::Tensor poplin::createTriangularSolveInputLHS (poplar::Graph &graph, const poplar::Type &inputType, const poplar::Type &outputType, const std::vector< std::size_t > &aShape, const std::vector< std::size_t > &bShape, bool leftSide, const poplar::DebugContext &debugContext, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr)
 Create a tensor that is used as the left operand of triangular solve. More...
 
poplar::Tensor poplin::createTriangularSolveInputRHS (poplar::Graph &graph, const poplar::Type &inputType, const poplar::Type &outputType, const std::vector< std::size_t > &aShape, const std::vector< std::size_t > &bShape, bool leftSide, const poplar::DebugContext &debugContext, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr)
 Create a tensor that is used as the right operand of triangular solve. More...
 
poplar::Tensor poplin::triangularMask (poplar::Graph &graph, const poplar::Tensor &a, bool lower, bool unitDiagonal, poplar::program::Sequence &prog, const poplar::DebugContext &debugContext={})
 Masks the unused components of the input tensor with zeroes, optionally allowing for a unit diagonal. More...
 
poplar::Tensor poplin::triangularSolve (poplar::Graph &graph, const poplar::Tensor &a, const poplar::Tensor &b, bool leftSide, bool lower, bool unitDiagonal, poplar::program::Sequence &prog, const poplar::DebugContext &debugContext={}, const poplar::OptionFlags &options={}, PlanningCache *cache=nullptr)
 Solves systems of linear equations with lower or upper triangular coefficients. More...
 
std::vector< std::pair< MatMulParams, poplar::OptionFlags > > poplin::getTriangularSolveMatMulPrePlanParameters (const poplar::Type &inputType, const poplar::Type &outputType, const std::vector< std::size_t > &aShape, const std::vector< std::size_t > &bShape, bool leftSide, bool lower, const poplar::OptionFlags &options)
 Plan matrix multiplication for given triangular solver. More...
 

Detailed Description

Solving linear equations using triangular matrices.