Logo
Poplar and PopLibs API Reference
Version: 3.0.0
  • 1. Using the libraries
    • Setting Options
      • Environment variables
      • Option values
      • Unsupported options
    • Linking
  • 2. Poplar runtime API reference
    • FieldTypes
    • HalfFloat
    • InOutTypes
    • StackSizeDefs
    • VectorListTypes
    • VectorTypes
    • Vertex
  • 3. Poplar API reference
    • Utility classes
      • ArrayRef
      • CSRFunctions
      • CodeletFileType
      • Interval
      • OptionFlags
      • RandomSeed
      • ReplicatedStreamMode
      • RuntimeOptions
      • SerializationFormat
      • StringRef
      • SyncType
      • Type
      • TypeTraits
    • Graph creation
      • DataStream
      • DataStreamType
      • Graph
      • GraphElements
      • LateInitCallback
      • StreamCallback
      • Tensor
      • TensorCloneMethod
      • TensorRearranger
      • VariableMappingMethod
      • VariableRef
      • VectorLayout
      • VertexIntrospector
    • Control programs
      • Program
    • Device management
      • Device
      • DeviceManager
      • IpuLinkConfiguration
      • IpuLinkTopology
      • Target
      • TargetType
    • Graph execution
      • Engine
      • Error
      • Executable
      • RuntimeOptions
      • Exceptions
    • Profiling and debugging
      • CycleCount
      • DebugContext
      • GlobalExchangeConstraints
      • IPUModel
      • PerfEstimateFunc
      • ProfileValue
  • 4. PopLibs API reference
    • Adding PopLibs code to a graph program
    • Utility functions (poputil)
      • Broadcast
      • DebugInfo
      • GraphFunction
      • OptionParsing
      • TensorMetaData
      • TileMapping
      • Util
      • VarStructure
      • VertexTemplates
    • Tensor operations (popops)
      • AllTrue
      • Cast
      • CircBuf
      • DynamicSlice
      • ElementWise
      • ElementWiseUtil
      • Encoding
      • EncodingConstants
      • Expr
      • ExprOp
      • Fill
      • Gather
      • GatherStatistics
      • HostSliceTensor
      • Loop
      • NaN
      • NormaliseImage
      • Operation
      • Pad
      • Rearrange
      • Reduce
      • ScaledAdd
      • Scatter
      • SelectScalarFromRows
      • SequenceSlice
      • Sort
      • SortOrder
      • TopK
      • UpdateScalarInRows
      • Zero
    • Linear algebra functions (poplin)
      • Cholesky
      • ConvParams
      • ConvPreplan
      • ConvUtil
      • Convolution
      • FullyConnected
      • MatMul
      • MeshGrid
      • MultiConvolution
      • Norms
      • TriangularSolve
    • Random number operations (poprand)
      • RandomGen
    • Sparse tensor operations (popsparse)
      • Embedding
      • FullyConnected
      • FullyConnectedParams
      • MatMul
      • MatMulParams
      • PlanningCache
      • SparsePartitioner
      • SparseStorageFormats
      • SparseTensor
      • SparsityParams
      • BlockSparse
      • BlockSparseMatMul
    • Neural network functions (popnn)
      • BatchNorm
      • CTCInference
      • CTCLoss
      • CTCPlan
      • GroupNorm
      • Gru
      • GruDef
      • InstanceNorm
      • LayerNorm
      • LogSoftmax
      • Loss
      • Lstm
      • LstmDef
      • NonLinearity
      • NonLinearityDef
      • NonLinearityDefUtil
      • Norms
      • Pooling
      • PoolingDef
      • Recurrent
      • Rnn
      • SpatialSoftMax
  • 5. Graphcore Communication Library (GCL) API reference
  • 6. Poplar compiler intrinsics
    • IPU C/C++ builtins
      • IPU functionality and memory
        • Get COUNT_L from CSR
        • Get COUNT_U from CSR
        • Get VERTEX_BASE from CSR
        • Get TILE_ID from CSR
        • Check for worker mode
          • Example
        • Triple-pack three addresses
        • Write to a CSR
          • Example
        • Write to an upper CSR
          • Example
        • Read from a CSR
          • Example
        • Read from an upper CSR
          • Example
        • Read from an upper CSR
        • Load and write 64-bit value to the common configuration space
        • Load and write 128-bit value to the common configuration space
      • Bit operations
        • And operation
        • Andc operation
        • Or operation
        • Not operation
        • Reverse bytes
        • Reverse bytes
        • SIMD roll permutation on 4x32-bit values
        • SIMD roll-left permutation on 8x8-bit values
        • SIMD roll-right permutation on 8x8-bit values
        • Upper half of SIMD shuffle permutation on 8x8-bit values
        • Lower half of SIMD shuffle permutation on 8x8-bit values
        • Upper half of SIMD sort permutation on 4x32-bit values
        • Lower half of SIMD sort permutation on 4x32-bit values
        • SIMD sort8 permutation on 4x8-bit values
        • SIMD swap8 permutation on 4x8-bit values
      • Float operations
        • Absolute addition of two values
        • Absolute maximum of two values
        • Maximum of two values
        • Lateral maximum of two values
        • Minimum of two values
        • Min-of-maximum of two values
        • CMAC operation
        • Natural exponential
        • 2-to-the-power-of
        • Natural logarithm
        • Base-2 logarithm
        • Probabilistic mask function
        • Sigmoid function
        • Lateral sum
        • Tanh
        • Vector product
        • Vector sum with scalar multiplicand
        • Get and initialise accumulators
      • Float comparisons
        • Equality test
        • Greater-than-or-equal-to test
        • Greater-than test
        • Less-than-or-equal-to test
        • Less-than test
        • Inequality test
      • Float classification
        • Classify float
        • Check whether floating-point value is finite
        • Check whether floating-point value is infinite
        • Check whether floating-point value is NaN
      • Random number generation
        • Generate half2 vector using Gaussian distribution
        • Generate float2 vector using Gaussian distribution
        • Generate random 32-bit integer
        • Generate random 64-bit integer
        • Generate random 16-bit float
        • Generate random 32-bit float
    • IPU C++ intrinsics
    • IPU C++ memory intrinsics
  • 7. Deprecated
  • 8. Index
  • 9. Trademarks & copyright
  • Doxygen
Poplar and PopLibs API Reference

9. Trademarks & copyright

Graphcloud®, Graphcore® and Poplar® are registered trademarks of Graphcore Ltd.

Bow™, Bow-2000™, Bow Pod™, Colossus™, In-Processor-Memory™, IPU-Core™, IPU-Exchange™, IPU-Fabric™, IPU-Link™, IPU-M2000™, IPU-Machine™, IPU-POD™, IPU-Tile™, PopART™, PopDist™, PopLibs™, PopRun™, PopVision™, PopTorch™, Streaming Memory™ and Virtual-IPU™ are trademarks of Graphcore Ltd.

All other trademarks are the property of their respective owners.

This software is made available under the terms of the Graphcore End User License Agreement (EULA). Please ensure you have read and accept the terms of the license before using the software.

© Copyright 2016-2020, Graphcore Ltd.

Previous

Revision 455a3128.