3#ifndef poplar_DataStream_hpp
4#define poplar_DataStream_hpp
6#include <poplar/DataStreamType.hpp>
7#include <poplar/ReplicatedStreamMode.hpp>
8#include <poplar/Type.hpp>
36 std::string handle()
const;
37 std::size_t numElements()
const;
38 unsigned replicationFactor()
const;
41 Type elementType()
const;
44 DataStream(std::unique_ptr<core::DataStreamRef>);
45 const core::DataStreamRef &getImpl()
const {
return *impl; }
48 std::unique_ptr<core::DataStreamRef> impl;
65 std::string handle()
const;
68 size_t numElements()
const;
69 size_t getRepeats()
const;
70 Type elementType()
const;
71 bool isRearrangeOnHost()
const;
72 bool isOptimisedForMemory()
const;
76 const core::RemoteBufferRef &getImpl()
const {
return *impl; }
82 std::unique_ptr<core::RemoteBufferRef> impl;
An object representing a stream for communicating between the host and the device.
Definition: DataStream.hpp:26
A remote buffer is a region of remote (meaning not on the IPU) memory that is used as a cache.
Definition: DataStream.hpp:55
Class representing device data types.
Definition: Type.hpp:42
Poplar classes and functions.
Definition: ArrayRef.hpp:14
ReplicatedStreamMode
Define how a stream is replicated when added to a replicated graph.
Definition: ReplicatedStreamMode.hpp:12
DataStreamType
An enumeration to represent the different types of DataStream or stream components of a RemoteBuffer.
Definition: DataStreamType.hpp:14