Contents

class

SushiBLAS::OperandSet

Collects the tensors one task touches: their regions and the storage they live in.

Declared in
include/SushiBLAS/engine/operand_set.hpp

See also

include/SushiBLAS/engine/README.md

Public member functions

OperandSet & reads(const Tensor &operand)

Declares that the task reads operand; a tensor without storage adds nothing.

OperandSet & writes(const Tensor &operand)

Declares that the task writes operand; a tensor without storage adds nothing.

OperandSet & updates(const Tensor &operand)

Declares that the task reads and writes operand in place.

OperandSet & scratch(const ScratchBuffer &buffer)

Declares that the task writes a device scratch; an empty one adds nothing.

OperandSet & merge(const OperandSet &other)

Adds every declaration of other to this set.

const std::vector< SushiRuntime::Core::ResourceRegion > & read_regions() const noexcept

Returns the byte intervals the task reads, in declaration order.

const std::vector< SushiRuntime::Core::ResourceRegion > & write_regions() const noexcept

Returns the byte intervals the task writes, in declaration order.

const Internal::StorageKeepAlive & retained() const noexcept

Returns the storages the recorded task holds a reference to.

bool has_device_only_operand() const noexcept

Reports whether a declared tensor lives in device-only USM.