Type
#include <poplar/Type.hpp>
Defines
-
POPLAR_DECLARE_EQUIV_TYPE(T1, T2)
-
namespace poplar
Poplar classes and functions.
Variables
-
template<typename T>
struct equivalent_device_type - #include <Type.hpp>
Template structure to relate a host type to a device type.
This structure is specialized to allow a program to relate a host type to a corresponding device type. For example::
poplar::Type t = equivalent_device_type<int>().value;
-
class Type
- #include <Type.hpp>
Class representing device data types.
These are used to define types for Poplar variables and tensors using Graph::addVariable() and constants using Graph::addConstant(). Poplar variables and constants may be connected to edges of Poplar vertices using Graph::addVertex() and Graph::connect(). All fields of a vertex must be one of the supported device data types. See Graph::connect() and the VertexRef class to connect vertex fields.
The following types are not supported:
LONG
UNSIGNED_LONG
DOUBLE
For supported types, the sizes on the IPU are:
BOOL: 1 byte
CHAR: 1 byte (signed)
SIGNED_CHAR: 1 byte
UNSIGNED_CHAR: 1 byte
SHORT: 2 bytes
SIGNED_SHORT: 2 bytes
UNSIGNED_SHORT: 2 bytes
INT: 4 bytes
SIGNED_INT: 4 bytes
SIGNED: 4 bytes
UNSIGNED_INT: 4 bytes
UNSIGNED: 4 bytes
LONGLONG: 8 bytes
UNSIGNED_LONGLONG: 8 bytes
QUARTER: 1 byte
HALF: 2 bytes
FLOAT: 4 bytes
-
namespace core
-
template<typename T>
-
namespace std
- template<> Type >