Table of Contents

Interface IKernelGraph

Namespace
Orleans.GpuBridge.Abstractions.Providers.Execution.Interfaces
Assembly
Orleans.GpuBridge.Abstractions.dll

Kernel execution graph for optimized multi-kernel execution

public interface IKernelGraph : IDisposable
Inherited Members

Properties

Name

Graph name

string Name { get; }

Property Value

string

Methods

AddBarrier(IReadOnlyList<IGraphNode>)

Adds a synchronization barrier

IGraphNode AddBarrier(IReadOnlyList<IGraphNode> dependencies)

Parameters

dependencies IReadOnlyList<IGraphNode>

Returns

IGraphNode

AddKernel(CompiledKernel, KernelExecutionParameters, IReadOnlyList<IGraphNode>?)

Adds a kernel node to the graph

IGraphNode AddKernel(CompiledKernel kernel, KernelExecutionParameters parameters, IReadOnlyList<IGraphNode>? dependencies = null)

Parameters

kernel CompiledKernel
parameters KernelExecutionParameters
dependencies IReadOnlyList<IGraphNode>

Returns

IGraphNode

AddMemCopy(IDeviceMemory, IDeviceMemory, long, IReadOnlyList<IGraphNode>?)

Adds a memory copy node to the graph

IGraphNode AddMemCopy(IDeviceMemory source, IDeviceMemory destination, long sizeBytes, IReadOnlyList<IGraphNode>? dependencies = null)

Parameters

source IDeviceMemory
destination IDeviceMemory
sizeBytes long
dependencies IReadOnlyList<IGraphNode>

Returns

IGraphNode

CompileAsync(CancellationToken)

Compiles the graph for execution

Task<ICompiledGraph> CompileAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<ICompiledGraph>

Validate()

Validates the graph structure

GraphValidationResult Validate()

Returns

GraphValidationResult