oa::SemanticGraph

Canonical semantic graph. It is deliberately independent of vulkan and of executable dispatch descriptions so graph compilation can decompose, fuse, partition, place, and schedule without losing public operation semantics.

Public Methods

oa::Result<oa::U32> oa::SemanticGraph::addOp(const oa::OpContract & inContract, oa::Span<const oa::U32> inInputs, oa::Span<const oa::U32> inOutputs, oa::Span<const oa::U32> inControlDependencies = = {}, oa::Span<const oa::OpAttribute> inAttributes = = {})
oa::Result<oa::U32> oa::SemanticGraph::addValue(const oa::SemanticValueDesc & inValue)
oa::Status oa::SemanticGraph::addView(oa::U32 inSource, oa::U32 inView, oa::I64 inByteOffset)
oa::Status oa::SemanticGraph::attachAutograd(oa::U32 inForwardOp, oa::U32 inOutputIndex, oa::U64 inSequence)
oa::Span<const oa::SemanticAutogradDesc> oa::SemanticGraph::autograd()
oa::Status oa::SemanticGraph::completeAutograd(oa::U32 inForwardOp, oa::U64 inSequence, oa::U32 inBackwardFirstOp, oa::U32 inBackwardOpCount)
oa::Status oa::SemanticGraph::copyFrom(const oa::SemanticGraph & inSource)
oa::String oa::SemanticGraph::debugReportJson(oa::StringView inName = "")
const oa::SemanticValueDesc * oa::SemanticGraph::findValue(oa::U32 inId)
oa::U64 oa::SemanticGraph::generation()
oa::U32 oa::SemanticGraph::operationCount()
oa::Span<const oa::SemanticOpDesc> oa::SemanticGraph::operations()
void oa::SemanticGraph::reset()
oa::Status oa::SemanticGraph::validate()
oa::U32 oa::SemanticGraph::valueCount()
oa::Span<const oa::SemanticValueDesc> oa::SemanticGraph::values()
oa::U32 oa::SemanticGraph::viewCount()

Public Method Documentation

oa::Result<oa::U32> oa::SemanticGraph::addOp( const oa::OpContract & inContract, oa::Span<const oa::U32> inInputs, oa::Span<const oa::U32> inOutputs, oa::Span<const oa::U32> inControlDependencies = = {}, oa::Span<const oa::OpAttribute> inAttributes = = {} )
No public source comment is attached to this declaration.

Parameters

inContract
const oa::OpContract &

inInputs
oa::Span<const oa::U32>

inOutputs
oa::Span<const oa::U32>

inControlDependencies
oa::Span<const oa::U32>

Default: = {}

inAttributes
oa::Span<const oa::OpAttribute>

Default: = {}

Returns

oa::Result<oa::U32>

The declared return value.

oa::Result<oa::U32> oa::SemanticGraph::addValue( const oa::SemanticValueDesc & inValue )
No public source comment is attached to this declaration.

Parameters

inValue
const oa::SemanticValueDesc &

Returns

oa::Result<oa::U32>

The declared return value.

oa::Status oa::SemanticGraph::addView( oa::U32 inSource, oa::U32 inView, oa::I64 inByteOffset )
No public source comment is attached to this declaration.

Parameters

inSource
oa::U32

inView
oa::U32

inByteOffset
oa::I64

Returns

oa::Status

The declared return value.

oa::Status oa::SemanticGraph::attachAutograd( oa::U32 inForwardOp, oa::U32 inOutputIndex, oa::U64 inSequence )
No public source comment is attached to this declaration.

Parameters

inForwardOp
oa::U32

inOutputIndex
oa::U32

inSequence
oa::U64

Returns

oa::Status

The declared return value.

oa::Span<const oa::SemanticAutogradDesc> oa::SemanticGraph::autograd()
No public source comment is attached to this declaration.

Returns

oa::Span<const oa::SemanticAutogradDesc>

The declared return value.

oa::Status oa::SemanticGraph::completeAutograd( oa::U32 inForwardOp, oa::U64 inSequence, oa::U32 inBackwardFirstOp, oa::U32 inBackwardOpCount )
No public source comment is attached to this declaration.

Parameters

inForwardOp
oa::U32

inSequence
oa::U64

inBackwardFirstOp
oa::U32

inBackwardOpCount
oa::U32

Returns

oa::Status

The declared return value.

oa::Status oa::SemanticGraph::copyFrom( const oa::SemanticGraph & inSource )
No public source comment is attached to this declaration.

Parameters

inSource
const oa::SemanticGraph &

Returns

oa::Status

The declared return value.

oa::String oa::SemanticGraph::debugReportJson( oa::StringView inName = "" )
Deterministic and handle-free evidence for graph/compiler tests.

Parameters

inName
oa::StringView

Default: ""

Returns

oa::String

The declared return value.

const oa::SemanticValueDesc * oa::SemanticGraph::findValue( oa::U32 inId )
No public source comment is attached to this declaration.

Parameters

inId
oa::U32

Returns

const oa::SemanticValueDesc *

The declared return value.

oa::U64 oa::SemanticGraph::generation()
No public source comment is attached to this declaration.

Returns

oa::U64

The declared return value.

oa::U32 oa::SemanticGraph::operationCount()
No public source comment is attached to this declaration.

Returns

oa::U32

The declared return value.

oa::Span<const oa::SemanticOpDesc> oa::SemanticGraph::operations()
No public source comment is attached to this declaration.

Returns

oa::Span<const oa::SemanticOpDesc>

The declared return value.

void oa::SemanticGraph::reset()
No public source comment is attached to this declaration.

Returns

void

The declared return value.

oa::Status oa::SemanticGraph::validate()
No public source comment is attached to this declaration.

Returns

oa::Status

The declared return value.

oa::U32 oa::SemanticGraph::valueCount()
No public source comment is attached to this declaration.

Returns

oa::U32

The declared return value.

oa::Span<const oa::SemanticValueDesc> oa::SemanticGraph::values()
No public source comment is attached to this declaration.

Returns

oa::Span<const oa::SemanticValueDesc>

The declared return value.

oa::U32 oa::SemanticGraph::viewCount()
No public source comment is attached to this declaration.

Returns

oa::U32

The declared return value.