Skip to content

tenzr::ScatterNode

More...

#include <node.h>

Inherits from tenzr::Node, std::enable_shared_from_this< Node >

Public Functions

Name
ScatterNode(std::shared_ptr< Node > operand, std::shared_ptr< Node > indices, std::shared_ptr< Node > updates, std::string update_op ="add")
virtual std::string OpName() const override
StableHLO-style name of this node's operation.
const std::string & UpdateOp() const
The combine operation applied at colliding indices, such as "add".
const std::shared_ptr< Node > & Operand() const
const std::shared_ptr< Node > & Indices() const
const std::shared_ptr< Node > & Updates() const

Additional inherited members

Public Functions inherited from tenzr::Node

Name
Node(NodeKind kind, Shape shape, DType dtype, ShardingSpec sharding =ShardingSpec::Replicated())
virtual ~Node() =default
NodeKind Kind() const
The node's operation kind.
const Shape & shape() const
The node's output shape.
DType Dtype() const
The node's output dtype.
const ShardingSpec & Sharding() const
The node's sharding spec.
void SetSharding(ShardingSpec spec)
Replace the sharding spec.
const StridedLayout & Layout() const
The node's strided layout.
void SetLayout(StridedLayout layout)
Replace the layout.
const std::vector< std::shared_ptr< Node > > & Inputs() const
The node's input operands.
uint64_t Id() const
The node's unique id.

Protected Functions inherited from tenzr::Node

Name
uint64_t NextId()

Protected Attributes inherited from tenzr::Node

Name
NodeKind kind_
Shape shape_
DType dtype_
ShardingSpec sharding_
StridedLayout layout_
std::vector< std::shared_ptr< Node > > inputs_
uint64_t id_

Detailed Description

class tenzr::ScatterNode;

Scatter updates into an operand at the given indices, combining collisions with a named update operation.

Public Functions Documentation

function ScatterNode

ScatterNode(
    std::shared_ptr< Node > operand,
    std::shared_ptr< Node > indices,
    std::shared_ptr< Node > updates,
    std::string update_op ="add"
)

Parameters:

  • operand Target tensor.
  • indices Scatter indices.
  • updates Values to scatter.
  • update_op Update combination operator.

Create a scatter node.

function OpName

inline virtual std::string OpName() const override

StableHLO-style name of this node's operation.

Reimplements: tenzr::Node::OpName

function UpdateOp

inline const std::string & UpdateOp() const

The combine operation applied at colliding indices, such as "add".

function Operand

inline const std::shared_ptr< Node > & Operand() const

function Indices

inline const std::shared_ptr< Node > & Indices() const

function Updates

inline const std::shared_ptr< Node > & Updates() const