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