GlobalExchangeConstraints
#include <poplar/GlobalExchangeConstraints.hpp>
-
template<>
struct std::hash<poplar::GlobalExchangeFlow> Public Functions
-
size_t operator()(const poplar::GlobalExchangeFlow &value) const
-
size_t operator()(const poplar::GlobalExchangeFlow &value) const
-
template<>
struct std::hash<poplar::GlobalExchangeConstraint> Public Functions
-
size_t operator()(const poplar::GlobalExchangeConstraint &value) const
-
size_t operator()(const poplar::GlobalExchangeConstraint &value) 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
andinner
dimensions asA[outer][inner]
.The following two categories of layouts are supported:
VectorListLayout::DELTANELEMENTS
is a memory efficient 2D vector layout. For legacy systemsVectorListLayout::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.VectorListLayout::ONE_PTR
and otherVectorListLayout
layouts that are prefixed by SCALED_PTR are for Poplar runtime use only.
-
struct GlobalExchangeConstraint
Public Functions
-
inline GlobalExchangeConstraint(double bandwidth, ArrayRef<GlobalExchangeFlow> flows)
-
bool operator==(const GlobalExchangeConstraint &other) const
-
bool operator<(const GlobalExchangeConstraint &other) const
Public Members
-
double bandwidth
Bandwidth in bits per second.
-
std::vector<GlobalExchangeFlow> flows
The flows that the constraint applies to.
-
inline GlobalExchangeConstraint(double bandwidth, ArrayRef<GlobalExchangeFlow> flows)
-
struct GlobalExchangeFlow
Public Functions
-
inline GlobalExchangeFlow(unsigned src, unsigned dst)
-
bool operator==(const GlobalExchangeFlow &other) const
-
bool operator<(const GlobalExchangeFlow &other) const
-
inline GlobalExchangeFlow(unsigned src, unsigned dst)
-
namespace std
- template<> GlobalExchangeConstraint >
Public Functions
-
size_t operator()(const poplar::GlobalExchangeConstraint &value) const
-
size_t operator()(const poplar::GlobalExchangeConstraint &value) const
- template<> GlobalExchangeFlow >
Public Functions
-
size_t operator()(const poplar::GlobalExchangeFlow &value) const
-
size_t operator()(const poplar::GlobalExchangeFlow &value) const