Cpopops::expr::Any | A class that can contain any expression, useful for building up expression trees dynamically where the type of the outermost expression may change |
Cpopsparse::experimental::BSMatMulParams | This class supports block-sparse matrix multiplication |
Cpoplin::multiconv::CalculateWeightDeltasArgs | |
Cpopops::internal::CastTargetParameters | Target parameters used in cast estimation |
Cgcl::Chunk | Represents a section of a tensor mapped to an IPU |
Cgcl::Chunks | A vector of Chunk data |
Cgcl::CollectiveBalancedHostRearrangement | This class contains functions and data necessary to rearrange tensors on the host side at runtime |
Cgcl::CollectiveBalancedReorder | Helper class to reorder a tensor in a per-tile-balanced fashion such that each replica obtains (for inputs to AllGather or outputs of ReduceScatter) an equally sized 1D tensor with equally sized regions |
Cgcl::CommGroup | Struct to specify sub-groups of replicas |
Cpoplar::ComputeSet | A reference to a compute set within a graph |
Cpoplin::multiconv::ConvolutionArgs | |
Cpoplin::multiconv::ConvWeightUpdateArgs | |
Cpoplin::multiconv::ConvWeightUpdateArgsScalar | |
Cpopsparse::COOMatrix< T > | Block Sparse matrix stored as coordinate (COO) or triplets format |
Cpoplin::multiconv::CreateTensorArgs | Multi-convolutions allow for a set of convolutions to be executed in parallel |
Cpopsparse::CSCMatrix< T > | Sparse matrix stored in compressed sparse columns (CSC) format for a matrix of size [M x N] |
Cpopsparse::CSRMatrix< T > | Sparse matrix stored in compressed sparse rows (CSR) format for a matrix of size [M x N] |
Cpoplar::DataStream | An object representing a stream for communicating between the host and the device |
Cpoplar::DebugContext | DebugContext gathers the common external parameters of the context of an operation |
Cpoplar::DebugInfo | DebugInfo stores and persists a set of data that describes the context of an operation |
Cpoplar::DebugNameAndId | DebugNameAndId bundles a name and a DebugId to facilitate their propagation through function calls |
Cpoplar::Device | A device refers to a physical entity that can execute code |
Cpoplar::DeviceManager | A DeviceManager is able to enumerate and return groups of physical IPUs connected to an entity/host |
Cpoplar::Engine | A graph compute engine |
Cpoplar::EngineOptions | A group of properties for a poplar::Executable object |
Cpoplar::equivalent_device_type< T > | Template structure to relate a host type to a device type |
Cpoplar::ErrorLocation | Uniquely identify the location of an error within a Poplar Device |
Cpoplar::ErrorLocationHash | Hash function for ErrorLocation |
Cpoplar::Executable | An instance of poplar::Executable contains all of the information needed to run a program on an IPU device |
Cpopops::expr::Expr | Type to represent element expressions |
Cpoplar::ExternalExchangeVertex | ExternalExchangeVertex base class; Any sub-type of this class needs to define a compute() method returning a bool |
Cpoplar::FieldData | Information about a vertex field, including its size and its initial value, if set |
Cpoplar::FieldRef | A reference to a field within a vertex instance |
Cpoplar::FloatingPointBehaviour | Structure to specify floating point behaviour |
Cpoplin::fc::FullyConnectedParams | Parameters to describe a fully-connected layer |
Cpoplar::Function | A reference to a function stored within a graph |
Cpoplar::FunctionBuffer | A reference to a function buffer stored within a graph |
Cpopops::GatherParams | Defines the parameters to a gather operation |
Cpoplar::GenericInterval< T > | This class represents an interval that is closed at its lower bound and open at its upper bound |
Cpoplar::GenericInterval< std::size_t > | |
Cpoplar::Graph | This class represents a graph program to be executed on the IPU |
Cpopnn::gru::GruParams | Structure representing the parameters of the GRU |
Cpopnn::gru::GruWeights | Structure holding all the parameters of a GRU cell, or the deltas for those parameters (depending on the context) |
Cpoplar::HostCallback | Interface used during host function calls to produce/consume the data being exchanged between the host and the device |
Cpoplar::HostCallbackHandle | Wrapper for HostCallback instances |
Cpoplar::HostFunction | A reference to a function in the host |
Cpoplar::IeeeHalf | A IeeeHalf |
Cpopops::IndicesAndTensor | The pair of values returned by createHostSliceableTensor() |
Cpoplar::InOut< T > | Input |
Cpoplar::InOut< quarter > | InOut with metadata |
Cpoplar::InOut< Vector< T, L, MinAlign, Interleaved > > | InOut<Vector> |
Cpoplar::InOut< VectorList< T, L, MinAlign, Interleaved > > | InOut<VectorList> |
Cpoplar::Input< T > | Input |
Cpoplar::Input< quarter > | Input with metadata |
Cpoplar::Input< Vector< T, L, MinAlign, Interleaved > > | Input<Vector> |
Cpoplar::Input< VectorList< T, L, MinAlign, Interleaved > > | Input<VectorList> |
Cpoplar::IPUModel | A model of an IPU to create an IPUModel Device The IPU Model will simulate the behaviour of the IPU hardware |
Cpopnn::lstm::LstmParams | Structure representing the parameters of the LSTM |
Cpopnn::lstm::LstmState | Structure holding the state of a LSTM cell, or the gradients for the state (depending on the context) |
Cpopnn::lstm::LstmWeights | Structure holding all the parameters of an LSTM cell, or the deltas for those parameters (depending on the context) |
Cpoplin::MatMulParams | Parameters to define a Matrix multiplication |
Cpoplar::Module | An instance of poplar::Moudle contains all of the information needed to run a program on an IPU device |
Cpopops::internal::MultiSliceTargetParameters | Cycle estimate for MultiSlice vertex |
Cpopops::internal::MultiUpdateOpTargetParameters | Cycle estimate for MultiUpdateAdd vertex |
Cpoplar::MultiVertex | MultiVertex base class; Any sub-type of this class needs to define a compute() method taking a single unsigned value and returning a bool |
COptionFlags | Supported Option flags: |
Cpoplar::OptionFlags | A set of option/value string flags to be used in various APIs |
Cpoplibs::OptionHandler | Represents the various options types |
Cpoplibs::OptionSpec | Represents a set of options and their values |
Cpoplar::Output< T > | Output |
Cpoplar::Output< quarter > | Output with metadata |
Cpoplar::Output< Vector< T, L, MinAlign, Interleaved > > | Output<Vector> |
Cpoplar::Output< VectorList< T, L, MinAlign, Interleaved > > | Output<VectorList> |
Cpopsparse::dynamic::Partitioner< T > | Class to translate and encode sparsity information for a fully connected layer |
Cpopnn::ctc::Plan | An object representing a plan that describes how to map tensors and implement the CTC Loss or CTC Inference functions |
Cpoplin::PlanCosts | Structure for estimated costs returned by reportPlanEstimatedCosts() |
Cpoplin::matmul::PlanningCache | |
Cpopsparse::dynamic::PlanningCache | Class used to cache the calculation of plans for dynamically sparse operations |
►Cpoplar::poplar_error | Base class for Poplar exceptions |
Cpoplar::control_program_error | This exception is thrown when the construction of a graph program is invalid |
Cpoplar::graph_connection_error | This exception is thrown during construction of an Engine object if there is an error in the structure of graph, for example, if there are no edges to a vertex input or if there are multiple edges to a vertex input |
Cpoplar::graph_cycle_error | This exception is thrown during the construction of an Engine object if there are any cycles in the graph that are not broken by recurrent edges |
Cpoplar::graph_memory_allocation_error | This exception is thrown when an memory allocation fails |
Cpoplar::graph_object_creation_error | This exception is thrown in the construction of a GraphProgEnv object if there was an error in the creation of the graph program object file |
Cpoplar::graph_object_load_error | This exception is thrown in the construction of a GraphProgEnv object if there was an error in loading the graph program object file |
Cpoplar::graph_program_compilation_error | This exception is thrown in the construction of a GraphProgEnv object if there are any compilation errors in the graph program |
Cpoplar::graph_recursion_error | This exception is thrown during the construction of an Engine object if there are recursive calls |
Cpoplar::graph_replication_error | This exception is thrown when an invalid operation is carried out on a replicated graph |
Cpoplar::index_error | This exception is thrown if the index of a subscript is out of the bounds of the field it is accessing or if a index of a tensor is invalid |
Cpoplar::invalid_machine_model | This exception is thrown when an invalid model of the IPU (for performance model profiling) has been specified |
Cpoplar::invalid_option | This exception is thrown when an unrecognised or invalid option is passed to a Poplar API |
Cpoplar::invalid_tile_mapping | This exception is thrown when the tile mapping passed to the UserTilePartitioner is invalid |
Cpoplar::link_error | This exception is thrown when the linking stage for codelets fails |
Cpoplar::memory_elem_constraints_error | This exception is thrown when an invalid memory element constraint has been provided in a codelet |
Cpoplar::missing_graph_profile | This exception is thrown if the graph and/or execution profile is required but the graph profile that should had been generated during compilation is not found |
Cpoplar::missing_perf_estimate | This exception is thrown when an Engine is constructed with profiling enabled but a vertex does not have a getPerfEstimate method specified |
Cpoplar::no_environment | This exception is thrown, in the construction of a GraphProgEnv object, in mixed-mode compilation, if there is no graph-programming environment available, in particular if the program has not been compiled with the 'popc' command-line tool |
Cpoplar::no_size_specified | This exception is thrown if the size of a field is not specified in a Graph object when an EngineBuilder object is constructed |
Cpoplar::overflow_error | This exception is thrown when an arithmetic overflow occurs within Poplar |
Cpoplar::parse_error | This exception is thrown when an input file or string cannot be parsed |
Cpoplar::profiling_disabled | This exception is thrown if profiling information is requested from an Engine but that Engine has not been constructed with profiling enabled |
►Cpoplar::runtime_error | This exception is thrown when running a program on a system fails |
Cpoplar::application_runtime_error | This exception is thrown when running a program fails due to an error in the program or a misuse of an API |
►Cpoplar::system_runtime_error | This exception is thrown when running a program fails due to an error in the system it is running on |
Cpoplar::recoverable_runtime_error | This exception is thrown when when running a program fails due to a system error that is likely to be transient |
Cpoplar::unknown_runtime_error | This exception is throw when execution fails due to a system error where the cause cannot be automatically determined, for example a timeout without a specific error being raised |
Cpoplar::unrecoverable_runtime_error | This exception is thrown when execution fails due to a system error that is likely to persist |
Cpoplar::stream_connection_error | This exception is thrown when an invalid attempt is made to connect a data stream |
Cpoplar::stream_memory_allocation_error | This exception is thrown when allocation of stream buffers fails |
Cpoplar::tensor_creation_error | This exception is thrown in the construction of a tensor if invalid arguments are provided to the tensor creation function or method |
Cpoplar::tensor_io_state_error | This exception is thrown when an attempt is made to mark a tensor as an input or output, but the argument references a view of a tensor, rather than a whole tensor |
Cpoplar::tensor_metadata_error | This exception is thrown if a tensor uses a type that requires metadata and the metadata is not accessible |
Cpoplar::type_error | This exception is thrown when there is an error related to the field types of vertices, for example, when the source of an edge contains an input, the types of inputs and source field between an edge do not match, or when a field cannot be subscripted |
Cpoplar::unknown_field | This exception is thrown when a field name is specified that does not exist in the graph-programming environment |
Cpoplar::unknown_vertex_type | This exception is thrown when a vertex type name is specified that does not exist in the graph programming environment |
Cpoputil::poplibs_error | Class for PopLibs exceptions |
Cpoplar::Preallocations | This class describes where external variables and other pre-existing allocations are in memory |
Cpoplar::ProfileValue | ProfileValue represents a read-only JSON-like tree of values that are used to store the output of the profiler |
►Cpoplar::program::Program | This class represents a control program that executes operations on the graph |
Cpoplar::program::AssumeEqualAcrossReplicas | A program to mark a tensor as equal across replicas |
Cpoplar::program::Block | A program to scope another program |
Cpoplar::program::Call | A program to perform a function call to a previously stored program |
Cpoplar::program::Copy | A program that copies data |
Cpoplar::program::CrossReplicaCopy | A program that copies tensors between replicated sub-graphs |
Cpoplar::program::Execute | Program that executes a compute set in the graph |
Cpoplar::program::If | A program that runs one of two programs depending on the value of a scalar tensor |
Cpoplar::program::Loop | A program that executes for an indefinite number of iterations |
Cpoplar::program::Repeat | A program that repeatedly executes for a fixed number of iterations |
Cpoplar::program::RepeatWhileFalse | A program that executes a program repeatedly while a condition is false |
Cpoplar::program::RepeatWhileTrue | A program that executes a program repeatedly while a condition is true |
Cpoplar::program::Sequence | Program that executes a sequence of programs |
Cpoplar::program::Switch | A program that runs one of many programs depending on the value of a tensor |
Cpoplar::program::Sync | A program to synchronise at a certain granularity dictated by the SyncType |
Cpoplar::program::WriteUndef | A program to mark a tensor as containing an undefined value |
Cpoplar::QuarterMetadata | Quarter metadata type |
Cpopops::ReduceParams | Stores parameters for the reduce operation, as well as the basic operation being performed (for example, add or mul ) |
Cpoplar::RemoteBuffer | A remote buffer is a region of remote (meaning not on the IPU) memory that is used as a cache |
Cpopnn::rnn::RnnParams | Structure of Recurrent Neural Network (RNN) parameters which allows for any customized implementation of the cellular part of the RNN |
Cpopnn::rnn::RnnSlice | Tensors required for processing a single time step |
Cpopnn::experimental::roiAlignParams | Parameters of ROIAlign |
Cpoplar::RuntimeOptions | A group of properties that are reconfigurable in each engine execution |
Cpopops::SingleReduceOp | The parameterisation of the inputs to a single reduction for the reduceMany() function |
Cpopops::SlicePlan | An object representing a plan that describes how to implement a slice or update |
Cpoplar::SourceLocation | This class mimics std::source_location that is unavailable as we don't yet support C++20 |
Cpopsparse::dynamic::SparseTensor | Representation of a sparse tensor |
Cpopsparse::dynamic::SparsityDataImpl< T > | Encoding of sparsity representation |
Cpopnn::rnn::StateSequence | Structure that associates a particular state tensor with a user-defined output tensor |
►Cpoplar::StreamCallback | Interface used during stream copies to produce/consume the data being exchanged between the host and the device |
Cpoplar::LegacyStreamCallback | Convenience StreamCallback specialization for implementations that do not support prefetch/complete operations when the data type used does not require metadata |
Cpoplar::ResumableStreamCallback | Expands StreamCallback API with functions that prevent further progress |
Cpoplar::StreamCallbackWithMetadata | Interface used to add support for stream copies to produce/consume data if the data type requires metadata |
Cpoplar::StreamCallbackHandle | Wrapper for StreamCallback instances |
Cpoplar::SupervisorVertex | SupervisorVertex base class; Any sub-type of this class needs to define a compute() method returning a bool |
Cpoplar::Target | A target representation |
Cpoplar::Tensor | A reference to a subset of tensor elements |
Cpoputil::TensorMetaData | Class used to represent some unspecified form of meta-data for a tensor |
Cpoplar::TensorRearranger | TensorRearranger can be used to re-order the view on a tensor and to undo that re-ordering |
Cpoputil::TensorUseTracker | Class that tracks the usage of data on different tiles |
Cpoplar::Engine::TimerTimePoint | PImpl interface to core timing information |
Cpopops::TopKParams | Parameters for topK* APIs |
Cpoplar::Type | Class representing device data types |
Cpoplar::TypeTraits | A structure to provide information about arithmetic (integer and floating point) types |
Cpoplar::detail::V2DLayoutEnumToType< T, L, MinAlign, Interleaved > | VectorList |
Cpoplar::VariableInterval | Type representing a segment of a particular variable |
Cpoplar::VariableRef | Type representing a reference to a variable in a graph |
Cpoplar::Vector< InOut< T >, L, MinAlign, Interleaved > | Vector<InOut> |
Cpoplar::Vector< InOut< Vector< T, L1, MinAlign1, Interleaved > >, L2, MinAlign2, false > | Vector<InOut<Vector<T>> |
Cpoplar::Vector< Input< T >, L, MinAlign, Interleaved > | Vector<Input> |
Cpoplar::Vector< Input< Vector< T, L1, MinAlign1, Interleaved > >, L2, MinAlign2, false > | Vector<Input<Vector<T>> |
Cpoplar::Vector< Output< T >, L, MinAlign, Interleaved > | Vector<Output> |
Cpoplar::Vector< Output< Vector< T, L1, MinAlign1, Interleaved > >, L2, MinAlign2, false > | Vector<Output<Vector<T>> |
Cpoplar::Vertex | Vertex base class |
Cpoplar::VertexEdgeInfo | Data structure that will be passed to the callback used for 'late initialisation' for vertex fields |
Cpoplar::VertexIntrospector | Available to cycle estimators to inspect the shape and initial values of a vertex's fields |
Cpoplar::VertexRef | A reference to a vertex within a graph |
Cpoputil::VertexTemplateToString< popnn::NonLinearityType > | Specialise vertex template stringification for non-linearity type |
Cpoputil::VertexTemplateToString< popops::Operation > | Specialise vertex template stringification for operation type |
Cpoplar::detail::VLayoutEnumToType< T, VectorLayout::SPAN, MinAlign, Interleaved > | Vector |