Poplar and PopLibs
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 Cpopops::expr::AnyA class that can contain any expression, useful for building up expression trees dynamically where the type of the outermost expression may change
 Cpopsparse::experimental::BSMatMulParamsThis class supports block-sparse matrix multiplication
 Cpoplin::multiconv::CalculateWeightDeltasArgs
 Cpopops::internal::CastTargetParametersTarget parameters used in cast estimation
 Cgcl::ChunkRepresents a section of a tensor mapped to an IPU
 Cgcl::ChunksA vector of Chunk data
 Cgcl::CollectiveBalancedHostRearrangementThis class contains functions and data necessary to rearrange tensors on the host side at runtime
 Cgcl::CollectiveBalancedReorderHelper 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::CommGroupStruct to specify sub-groups of replicas
 Cpoplar::ComputeSetA 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::CreateTensorArgsMulti-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::DataStreamAn object representing a stream for communicating between the host and the device
 Cpoplar::DebugContextDebugContext gathers the common external parameters of the context of an operation
 Cpoplar::DebugInfoDebugInfo stores and persists a set of data that describes the context of an operation
 Cpoplar::DebugNameAndIdDebugNameAndId bundles a name and a DebugId to facilitate their propagation through function calls
 Cpoplar::DeviceA device refers to a physical entity that can execute code
 Cpoplar::DeviceManagerA DeviceManager is able to enumerate and return groups of physical IPUs connected to an entity/host
 Cpoplar::EngineA graph compute engine
 Cpoplar::EngineOptionsA 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::ErrorLocationUniquely identify the location of an error within a Poplar Device
 Cpoplar::ErrorLocationHashHash function for ErrorLocation
 Cpoplar::ExecutableAn instance of poplar::Executable contains all of the information needed to run a program on an IPU device
 Cpopops::expr::ExprType to represent element expressions
 Cpoplar::ExternalExchangeVertexExternalExchangeVertex base class; Any sub-type of this class needs to define a compute() method returning a bool
 Cpoplar::FieldDataInformation about a vertex field, including its size and its initial value, if set
 Cpoplar::FieldRefA reference to a field within a vertex instance
 Cpoplar::FloatingPointBehaviourStructure to specify floating point behaviour
 Cpoplin::fc::FullyConnectedParamsParameters to describe a fully-connected layer
 Cpoplar::FunctionA reference to a function stored within a graph
 Cpoplar::FunctionBufferA reference to a function buffer stored within a graph
 Cpopops::GatherParamsDefines 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::GraphThis class represents a graph program to be executed on the IPU
 Cpopnn::gru::GruParamsStructure representing the parameters of the GRU
 Cpopnn::gru::GruWeightsStructure holding all the parameters of a GRU cell, or the deltas for those parameters (depending on the context)
 Cpoplar::HostCallbackInterface used during host function calls to produce/consume the data being exchanged between the host and the device
 Cpoplar::HostCallbackHandleWrapper for HostCallback instances
 Cpoplar::HostFunctionA reference to a function in the host
 Cpoplar::IeeeHalfA IeeeHalf
 Cpopops::IndicesAndTensorThe 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::IPUModelA model of an IPU to create an IPUModel Device The IPU Model will simulate the behaviour of the IPU hardware
 Cpopnn::lstm::LstmParamsStructure representing the parameters of the LSTM
 Cpopnn::lstm::LstmStateStructure holding the state of a LSTM cell, or the gradients for the state (depending on the context)
 Cpopnn::lstm::LstmWeightsStructure holding all the parameters of an LSTM cell, or the deltas for those parameters (depending on the context)
 Cpoplin::MatMulParamsParameters to define a Matrix multiplication
 Cpoplar::ModuleAn instance of poplar::Moudle contains all of the information needed to run a program on an IPU device
 Cpopops::internal::MultiSliceTargetParametersCycle estimate for MultiSlice vertex
 Cpopops::internal::MultiUpdateOpTargetParametersCycle estimate for MultiUpdateAdd vertex
 Cpoplar::MultiVertexMultiVertex base class; Any sub-type of this class needs to define a compute() method taking a single unsigned value and returning a bool
 COptionFlagsSupported Option flags:
 Cpoplar::OptionFlagsA set of option/value string flags to be used in various APIs
 Cpoplibs::OptionHandlerRepresents the various options types
 Cpoplibs::OptionSpecRepresents 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::PlanAn object representing a plan that describes how to map tensors and implement the CTC Loss or CTC Inference functions
 Cpoplin::PlanCostsStructure for estimated costs returned by reportPlanEstimatedCosts()
 Cpoplin::matmul::PlanningCache
 Cpopsparse::dynamic::PlanningCacheClass used to cache the calculation of plans for dynamically sparse operations
 Cpoplar::poplar_errorBase class for Poplar exceptions
 Cpoputil::poplibs_errorClass for PopLibs exceptions
 Cpoplar::PreallocationsThis class describes where external variables and other pre-existing allocations are in memory
 Cpoplar::ProfileValueProfileValue represents a read-only JSON-like tree of values that are used to store the output of the profiler
 Cpoplar::program::ProgramThis class represents a control program that executes operations on the graph
 Cpoplar::QuarterMetadataQuarter metadata type
 Cpopops::ReduceParamsStores parameters for the reduce operation, as well as the basic operation being performed (for example, add or mul)
 Cpoplar::RemoteBufferA remote buffer is a region of remote (meaning not on the IPU) memory that is used as a cache
 Cpopnn::rnn::RnnParamsStructure of Recurrent Neural Network (RNN) parameters which allows for any customized implementation of the cellular part of the RNN
 Cpopnn::rnn::RnnSliceTensors required for processing a single time step
 Cpopnn::experimental::roiAlignParamsParameters of ROIAlign
 Cpoplar::RuntimeOptionsA group of properties that are reconfigurable in each engine execution
 Cpopops::SingleReduceOpThe parameterisation of the inputs to a single reduction for the reduceMany() function
 Cpopops::SlicePlanAn object representing a plan that describes how to implement a slice or update
 Cpoplar::SourceLocationThis class mimics std::source_location that is unavailable as we don't yet support C++20
 Cpopsparse::dynamic::SparseTensorRepresentation of a sparse tensor
 Cpopsparse::dynamic::SparsityDataImpl< T >Encoding of sparsity representation
 Cpopnn::rnn::StateSequenceStructure that associates a particular state tensor with a user-defined output tensor
 Cpoplar::StreamCallbackInterface used during stream copies to produce/consume the data being exchanged between the host and the device
 Cpoplar::StreamCallbackHandleWrapper for StreamCallback instances
 Cpoplar::SupervisorVertexSupervisorVertex base class; Any sub-type of this class needs to define a compute() method returning a bool
 Cpoplar::TargetA target representation
 Cpoplar::TensorA reference to a subset of tensor elements
 Cpoputil::TensorMetaDataClass used to represent some unspecified form of meta-data for a tensor
 Cpoplar::TensorRearrangerTensorRearranger can be used to re-order the view on a tensor and to undo that re-ordering
 Cpoputil::TensorUseTrackerClass that tracks the usage of data on different tiles
 Cpoplar::Engine::TimerTimePointPImpl interface to core timing information
 Cpopops::TopKParamsParameters for topK* APIs
 Cpoplar::TypeClass representing device data types
 Cpoplar::TypeTraitsA structure to provide information about arithmetic (integer and floating point) types
 Cpoplar::detail::V2DLayoutEnumToType< T, L, MinAlign, Interleaved >VectorList
 Cpoplar::VariableIntervalType representing a segment of a particular variable
 Cpoplar::VariableRefType 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::VertexVertex base class
 Cpoplar::VertexEdgeInfoData structure that will be passed to the callback used for 'late initialisation' for vertex fields
 Cpoplar::VertexIntrospectorAvailable to cycle estimators to inspect the shape and initial values of a vertex's fields
 Cpoplar::VertexRefA 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