Interface IKernelExecutor
- Namespace
- Orleans.GpuBridge.Abstractions.Providers.Execution.Interfaces
- Assembly
- Orleans.GpuBridge.Abstractions.dll
Interface for kernel execution in GPU backends
public interface IKernelExecutor
Methods
CreateGraph(string)
Creates a kernel execution graph for optimized execution
IKernelGraph CreateGraph(string graphName)
Parameters
graphNamestring
Returns
ExecuteAsync(CompiledKernel, KernelExecutionParameters, CancellationToken)
Executes a kernel synchronously
Task<KernelExecutionResult> ExecuteAsync(CompiledKernel kernel, KernelExecutionParameters parameters, CancellationToken cancellationToken = default)
Parameters
kernelCompiledKernelparametersKernelExecutionParameterscancellationTokenCancellationToken
Returns
ExecuteAsyncNonBlocking(CompiledKernel, KernelExecutionParameters, CancellationToken)
Executes a kernel asynchronously (non-blocking)
Task<IKernelExecution> ExecuteAsyncNonBlocking(CompiledKernel kernel, KernelExecutionParameters parameters, CancellationToken cancellationToken = default)
Parameters
kernelCompiledKernelparametersKernelExecutionParameterscancellationTokenCancellationToken
Returns
ExecuteBatchAsync(IReadOnlyList<KernelBatchItem>, BatchExecutionOptions, CancellationToken)
Executes multiple kernels in a batch
Task<BatchExecutionResult> ExecuteBatchAsync(IReadOnlyList<KernelBatchItem> batch, BatchExecutionOptions options, CancellationToken cancellationToken = default)
Parameters
batchIReadOnlyList<KernelBatchItem>optionsBatchExecutionOptionscancellationTokenCancellationToken
Returns
GetStatistics()
Gets execution statistics
ExecutionStatistics GetStatistics()
Returns
ProfileAsync(CompiledKernel, KernelExecutionParameters, int, CancellationToken)
Profiles kernel execution
Task<KernelProfile> ProfileAsync(CompiledKernel kernel, KernelExecutionParameters parameters, int iterations = 100, CancellationToken cancellationToken = default)
Parameters
kernelCompiledKernelparametersKernelExecutionParametersiterationsintcancellationTokenCancellationToken
Returns
ResetStatistics()
Resets execution statistics
void ResetStatistics()