VariableRef

#include <poplar/VariableRef.hpp>
template<>
struct std::hash<poplar::VariableRef>

Public Functions

inline size_t operator()(const poplar::VariableRef &v) const
namespace poplar

Poplar classes and functions.

A VectorList is a list of vectors with a specific layout and with the usage semantics of a 2D vector.

A 1D vector must be laid out in a contiguous memory region. A 2D vector is a vector of 1D vectors. Each of these 1D vectors that make up a 2D vector is called a “sub-vector” for the remainder of this document. The elements of a 2D vector can be accessed by indexing the 2D vector along the outer and inner dimensions as A[outer][inner].

The following two categories of layouts are supported:

  1. VectorListLayout::DELTANELEMENTS is a memory efficient 2D vector layout. For legacy systems VectorListLayout::DELTAN served a similar purpose. Each sub-vector must be laid out as a contiguous memory region but the sub-vectors may may not be laid out contiguous with respect to each other in memory. Each sub-vector may have a different length.

  2. VectorListLayout::ONE_PTR and other VectorListLayout layouts that are prefixed by SCALED_PTR are for Poplar runtime use only.

Functions

bool operator==(const VariableInterval &a, const VariableInterval &b)
bool operator<(const VariableInterval &a, const VariableInterval &b)
struct VariableInterval
#include <VariableRef.hpp>

Type representing a segment of a particular variable.

Public Functions

inline VariableInterval(VariableRef var, Interval interval)
VariableInterval() = default
VariableInterval(const VariableInterval &other) = default
VariableInterval(VariableInterval &&other) = default
VariableInterval &operator=(const VariableInterval &other) = default
VariableInterval &operator=(VariableInterval &&other) = default

Public Members

VariableRef var
Interval interval
class VariableRef
#include <VariableRef.hpp>

Type representing a reference to a variable in a graph.

Public Functions

inline VariableRef(unsigned id)
VariableRef() = default
VariableRef(const VariableRef &other) = default
VariableRef(VariableRef &&other) = default
VariableRef &operator=(const VariableRef &other) = default
VariableRef &operator=(VariableRef &&other) = default
std::size_t hash() const

Private Members

unsigned id

Friends

friend class Graph
inline friend bool operator==(const VariableRef &a, const VariableRef &b)
inline friend bool operator<(const VariableRef &a, const VariableRef &b)
namespace std
template<> VariableRef >

Public Functions

inline size_t operator()(const poplar::VariableRef &v) const