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 noexceptReturns the byte intervals the task reads, in declaration order.
const std::vector< SushiRuntime::Core::ResourceRegion > & write_regions() const noexceptReturns the byte intervals the task writes, in declaration order.
const Internal::StorageKeepAlive & retained() const noexceptReturns the storages the recorded task holds a reference to.
bool has_device_only_operand() const noexceptReports whether a declared tensor lives in device-only USM.

