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
Methods
AddBarrier(IReadOnlyList<IGraphNode>)
Adds a synchronization barrier
IGraphNode AddBarrier(IReadOnlyList<IGraphNode> dependencies)
Parameters
dependenciesIReadOnlyList<IGraphNode>
Returns
AddKernel(CompiledKernel, KernelExecutionParameters, IReadOnlyList<IGraphNode>?)
Adds a kernel node to the graph
IGraphNode AddKernel(CompiledKernel kernel, KernelExecutionParameters parameters, IReadOnlyList<IGraphNode>? dependencies = null)
Parameters
kernelCompiledKernelparametersKernelExecutionParametersdependenciesIReadOnlyList<IGraphNode>
Returns
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
sourceIDeviceMemorydestinationIDeviceMemorysizeByteslongdependenciesIReadOnlyList<IGraphNode>
Returns
CompileAsync(CancellationToken)
Compiles the graph for execution
Task<ICompiledGraph> CompileAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
Validate()
Validates the graph structure
GraphValidationResult Validate()