DataStream
#include <poplar/DataStream.hpp>
-
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.
-
class DataStream
- #include <DataStream.hpp>
An object representing a stream for communicating between the host and the device.
A stream is a unidirectional communication from the host to the device, or from the device to the host.
The maximum buffer size for each stream is 128 MBytes.
Public Functions
-
DataStream()
-
DataStream(const DataStream&)
-
DataStream(DataStream&&) noexcept
-
~DataStream()
-
DataStream &operator=(const DataStream&)
-
DataStream &operator=(DataStream&&) noexcept
-
unsigned replicationFactor() const
-
ReplicatedStreamMode replicatedMode() const
-
DataStreamType type() const
-
DataStream()
-
class RemoteBuffer
- #include <DataStream.hpp>
A remote buffer is a region of remote (meaning not on the IPU) memory that is used as a cache.
It is implemented as two DataStreams: one to write to the remote memory, the other to read the data back to the IPU.
Public Functions
-
RemoteBuffer()
-
RemoteBuffer(const RemoteBuffer&)
-
RemoteBuffer(RemoteBuffer&&) noexcept
-
~RemoteBuffer()
-
RemoteBuffer &operator=(const RemoteBuffer&)
-
RemoteBuffer &operator=(RemoteBuffer&&) noexcept
-
DataStream getIpuToHostStream() const
-
DataStream getHostToIpuStream() const
-
size_t numElements() const
-
size_t getRepeats() const
-
bool isRearrangeOnHost() const
-
bool isOptimisedForMemory() const
-
bool operator==(const RemoteBuffer &b) const
-
bool operator!=(const RemoteBuffer &b) const
-
RemoteBuffer()
-
namespace core