Vertex

#include <poplar/Vertex.hpp>

Defines

WORKER_ALIGN
namespace poplar

Poplar classes and functions.

Typedefs

template<bool pred>
using SupervisorVertexIf = std::conditional_t<pred, SupervisorVertex, Vertex>

Metafunction that returns a SupervisorVertex if pred is true otherwise a Vertex.

class ExternalExchangeVertex
#include <Vertex.hpp>

ExternalExchangeVertex base class; Any sub-type of this class needs to define a compute() method returning a bool.

class MultiVertex
#include <Vertex.hpp>

MultiVertex base class; Any sub-type of this class needs to define a compute() method taking a single unsigned value and returning a bool.

NOTE: To get deterministic results between replicas you must index the data by worker id because each worker has a different seed when applying stochastic rounding.

Public Static Functions

static inline constexpr unsigned numWorkers()

Get the total number of workers that will run this vertex.

class SupervisorVertex
#include <Vertex.hpp>

SupervisorVertex base class; Any sub-type of this class needs to define a compute() method returning a bool.

NOTE: To get deterministic results between replicas you must index the data by worker id because each worker has a different seed when applying stochastic rounding.

class Vertex
#include <Vertex.hpp>

Vertex base class.

Any sub-type of this class needs to define a compute() method returning a bool.

This vertex is guaranteed by Poplar to run on the same worker context on every replica when stochastic rounding is going to be applied to make sure that the results are bit accurate when replicated.