Logo
Poplar and PopLibs API Reference
Version: 2.2.0
  • 1. Using the libraries
    • Adding PopLibs code to a graph
    • Setting Options
      • Environment variables
      • Option values
      • Unsupported options
    • Linking
  • 2. Poplar runtime API reference
    • Vertex types
    • Input & output types
    • Field types
    • Vector types
    • VectorList types
    • Half-float types
    • Stack size definition
  • 3. Poplar API reference
    • Utility classes
      • poplar/ArrayRef.hpp
      • poplar/Interval.hpp
      • poplar/OptionFlags.hpp
      • poplar/RandomSeed.hpp
      • poplar/ReplicatedStreamMode.hpp
      • poplar/SerializationFormat.hpp
      • poplar/StringRef.hpp
      • poplar/SyncType.hpp
      • poplar/TypeTraits.hpp
      • poplar/CSRFunctions.hpp
    • Exceptions
      • poplar/exceptions.hpp
    • Graph classes
      • poplar/CodeletFileType.hpp
      • poplar/DataStream.hpp
      • poplar/DataStreamType.hpp
      • poplar/Graph.hpp
      • poplar/GraphElements.hpp
      • poplar/LateInitCallback.hpp
      • poplar/PerfEstimateFunc.hpp
      • poplar/Tensor.hpp
      • poplar/TensorCloneMethod.hpp
      • poplar/TensorRearranger.hpp
      • poplar/Type.hpp
      • poplar/VariableMappingMethod.hpp
      • poplar/VariableRef.hpp
      • poplar/VectorLayout.hpp
      • poplar/VertexIntrospector.hpp
    • Control program classes
      • poplar/Program.hpp
    • Device management
      • poplar/TargetType.hpp
      • poplar/Target.hpp
      • poplar/Device.hpp
      • poplar/DeviceManager.hpp
      • poplar/IpuLinkConfiguration.hpp
      • poplar/IpuLinkTopology.hpp
    • Graph execution
      • poplar/Engine.hpp
      • poplar/StreamCallback.hpp
    • Serializing executable state
      • poplar/Executable.hpp
    • Profiling & debugging
      • poplar/DebugContext.hpp
      • poplar/ProfileValue.hpp
      • poplar/IPUModel.hpp
      • poplar/GlobalExchangeConstraints.hpp
      • poplar/CycleCount.hpp
  • 4. PopLibs API reference
    • Utility functions (poputil)
      • poputil/Broadcast.hpp
      • poputil/GraphFunction.hpp
      • poputil/OptionParsing.hpp
      • poputil/TensorMetaData.hpp
      • poputil/TileMapping.hpp
      • poputil/Util.hpp
      • poputil/VarStructure.hpp
      • poputil/VertexTemplates.hpp
    • Tensor operations (popops)
      • popops/AllTrue.hpp
      • popops/Cast.hpp
      • popops/CircBuf.hpp
      • popops/CollectiveTypes.hpp
      • popops/DynamicSlice.hpp
      • popops/ElementWise.hpp
      • popops/ElementWiseUtil.hpp
      • popops/Encoding.hpp
      • popops/EncodingConstants.hpp
      • popops/Expr.hpp
      • popops/ExprOp.hpp
      • popops/Fill.hpp
      • popops/Gather.hpp
      • popops/GatherStatistics.hpp
      • popops/HostSliceTensor.hpp
      • popops/Loop.hpp
      • popops/NaN.hpp
      • popops/NormaliseImage.hpp
      • popops/Operation.hpp
      • popops/Pad.hpp
      • popops/Rearrange.hpp
      • popops/Reduce.hpp
      • popops/ScaledAdd.hpp
      • popops/Scatter.hpp
      • popops/SelectScalarFromRows.hpp
      • popops/SequenceSlice.hpp
      • popops/Sort.hpp
      • popops/SortOrder.hpp
      • popops/TensorCollectives.hpp
      • popops/TopK.hpp
      • popops/UpdateScalarInRows.hpp
      • popops/Zero.hpp
    • Linear algebra functions (poplin)
      • poplin/Cholesky.hpp
      • poplin/ConvParams.hpp
      • poplin/ConvPreplan.hpp
      • poplin/ConvUtil.hpp
      • poplin/Convolution.hpp
      • poplin/FullyConnected.hpp
      • poplin/MatMul.hpp
      • poplin/MeshGrid.hpp
      • poplin/MultiConvolution.hpp
      • poplin/Norms.hpp
      • poplin/TriangularSolve.hpp
    • Random number operations (poprand)
      • poprand/RandomGen.hpp
    • Sparse tensor operations (popsparse)
      • popsparse/experimental/BlockSparse.hpp
      • popsparse/experimental/BlockSparseMatMul.hpp
      • popsparse/MatMul.hpp
      • popsparse/MatMulParams.hpp
      • popsparse/Embedding.hpp
      • popsparse/FullyConnected.hpp
      • popsparse/FullyConnectedParams.hpp
      • popsparse/PlanningCache.hpp
      • popsparse/SparsePartitioner.hpp
      • popsparse/SparseStorageFormats.hpp
      • popsparse/SparseTensor.hpp
      • popsparse/SparsityParams.hpp
    • Neural network functions (popnn)
      • popnn/BatchNorm.hpp
      • popnn/CTCInference.hpp
      • popnn/CTCLoss.hpp
      • popnn/CTCPlan.hpp
      • popnn/GroupNorm.hpp
      • popnn/Gru.hpp
      • popnn/GruDef.hpp
      • popnn/InstanceNorm.hpp
      • popnn/LayerNorm.hpp
      • popnn/LogSoftmax.hpp
      • popnn/Loss.hpp
      • popnn/Lstm.hpp
      • popnn/LstmDef.hpp
      • popnn/NonLinearity.hpp
      • popnn/NonLinearityDef.hpp
      • popnn/NonLinearityDefUtil.hpp
      • popnn/Norms.hpp
      • popnn/Pooling.hpp
      • popnn/PoolingDef.hpp
      • popnn/Recurrent.hpp
      • popnn/Rnn.hpp
      • popnn/SpatialSoftMax.hpp
  • 5. GCL API reference
    • gcl/TileAllocation.hpp
    • gcl/Collectives.hpp
    • gcl/CollectiveBalancedReorder.hpp
  • 6. IPU Builtins
    • Get COUNT_L from CSR
    • Get COUNT_U from CSR
    • Get VERTEX_BASE from CSR
    • Get TILE_ID from CSR
    • Generate random 32-bit integer
    • Generate random 64-bit integer
    • Generate random 16-bit float
    • Generate random 32-bit float
    • Classify float
    • Triple-pack three addresses
    • Write to an upper CSR
      • Example:
    • Write to a CSR
      • Example:
    • Read from an upper CSR
      • Example:
    • Read from a CSR
      • Example:
    • Check for worker mode
      • Example:
    • Roll-left SIMD permutation
    • Roll-right SIMD permutation
    • Check whether floating-point value is finite
    • Check whether floating-point value is infinite
    • Check whether floating-point value is NaN
  • 7. Deprecated
  • 8. Index
  • 9. Trademarks & copyright
Poplar and PopLibs API Reference


Revision 46ad1b01.