Interface IKernelManager
- Namespace
- DotCompute.Abstractions.Interfaces.Kernels
- Assembly
- DotCompute.Abstractions.dll
Interface for managing kernel generation, compilation, caching, and execution.
public interface IKernelManager : IDisposable
- Inherited Members
- Extension Methods
Methods
ClearCache()
Clears the kernel cache.
void ClearCache()
ExecuteKernelAsync(ManagedCompiledKernel, KernelArgument[], IAccelerator, KernelExecutionConfig?, CancellationToken)
Executes a compiled kernel with the specified arguments.
ValueTask<KernelExecutionResult> ExecuteKernelAsync(ManagedCompiledKernel kernel, KernelArgument[] arguments, IAccelerator accelerator, KernelExecutionConfig? config = null, CancellationToken cancellationToken = default)
Parameters
kernelManagedCompiledKernelargumentsKernelArgument[]acceleratorIAcceleratorconfigKernelExecutionConfigcancellationTokenCancellationToken
Returns
GetCacheStatistics()
Gets cache statistics.
KernelCacheStatistics GetCacheStatistics()
Returns
GetOrCompileKernelAsync(Expression, IAccelerator, KernelGenerationContext?, CompilationOptions?, CancellationToken)
Gets or compiles a kernel from an expression.
ValueTask<ManagedCompiledKernel> GetOrCompileKernelAsync(Expression expression, IAccelerator accelerator, KernelGenerationContext? context = null, CompilationOptions? options = null, CancellationToken cancellationToken = default)
Parameters
expressionExpressionacceleratorIAcceleratorcontextKernelGenerationContextoptionsCompilationOptionscancellationTokenCancellationToken
Returns
GetOrCompileOperationKernelAsync(string, Type[], Type, IAccelerator, KernelGenerationContext?, CompilationOptions?, CancellationToken)
Gets or compiles a kernel for a specific operation.
ValueTask<ManagedCompiledKernel> GetOrCompileOperationKernelAsync(string operation, Type[] inputTypes, Type outputType, IAccelerator accelerator, KernelGenerationContext? context = null, CompilationOptions? options = null, CancellationToken cancellationToken = default)
Parameters
operationstringinputTypesType[]outputTypeTypeacceleratorIAcceleratorcontextKernelGenerationContextoptionsCompilationOptionscancellationTokenCancellationToken
Returns
ProfileKernelAsync(ManagedCompiledKernel, KernelArgument[], IAccelerator, KernelExecutionConfig?, int, CancellationToken)
Profiles a kernel execution.
ValueTask<KernelProfilingResult> ProfileKernelAsync(ManagedCompiledKernel kernel, KernelArgument[] arguments, IAccelerator accelerator, KernelExecutionConfig? config = null, int iterations = 100, CancellationToken cancellationToken = default)
Parameters
kernelManagedCompiledKernelargumentsKernelArgument[]acceleratorIAcceleratorconfigKernelExecutionConfigiterationsintcancellationTokenCancellationToken
Returns
RegisterCompiler(AcceleratorType, IUnifiedKernelCompiler)
Registers a kernel compiler for a specific accelerator type.
void RegisterCompiler(AcceleratorType acceleratorType, IUnifiedKernelCompiler compiler)
Parameters
acceleratorTypeAcceleratorTypecompilerIUnifiedKernelCompiler
RegisterExecutor(AcceleratorType, IKernelExecutor)
Registers a kernel executor for a specific accelerator type.
void RegisterExecutor(AcceleratorType acceleratorType, IKernelExecutor executor)
Parameters
acceleratorTypeAcceleratorTypeexecutorIKernelExecutor
RegisterGenerator(AcceleratorType, IKernelGenerator)
Registers a kernel generator for a specific accelerator type.
void RegisterGenerator(AcceleratorType acceleratorType, IKernelGenerator generator)
Parameters
acceleratorTypeAcceleratorTypegeneratorIKernelGenerator