Interface IKernelCompilerService
- Namespace
- DotCompute.Runtime.Services
- Assembly
- DotCompute.Runtime.dll
Service for compiling kernels with caching and optimization
public interface IKernelCompilerService
Methods
CompileAsync(KernelDefinition, IAccelerator, CompilationOptions?)
Compiles a kernel with optimizations and caching
Task<ICompiledKernel> CompileAsync(KernelDefinition definition, IAccelerator accelerator, CompilationOptions? options = null)
Parameters
definitionKernelDefinitionThe kernel definition
acceleratorIAcceleratorThe target accelerator
optionsCompilationOptionsCompilation options
Returns
- Task<ICompiledKernel>
The compiled kernel
GetStatistics()
Gets compilation statistics
KernelCompilationStatistics GetStatistics()
Returns
- KernelCompilationStatistics
Compilation statistics
OptimizeAsync(KernelDefinition, IAccelerator)
Optimizes a kernel definition for the target accelerator
Task<KernelDefinition> OptimizeAsync(KernelDefinition definition, IAccelerator accelerator)
Parameters
definitionKernelDefinitionThe kernel definition
acceleratorIAcceleratorThe target accelerator
Returns
- Task<KernelDefinition>
The optimized kernel definition
PrecompileAsync(IEnumerable<KernelDefinition>, IAccelerator)
Pre-compiles kernels for better runtime performance
Task PrecompileAsync(IEnumerable<KernelDefinition> definitions, IAccelerator accelerator)
Parameters
definitionsIEnumerable<KernelDefinition>The kernel definitions to pre-compile
acceleratorIAcceleratorThe target accelerator
Returns
- Task
A task representing the pre-compilation operation
ValidateAsync(KernelDefinition, IAccelerator)
Validates a kernel definition for compilation
Task<KernelValidationResult> ValidateAsync(KernelDefinition definition, IAccelerator accelerator)
Parameters
definitionKernelDefinitionThe kernel definition
acceleratorIAcceleratorThe target accelerator
Returns
- Task<KernelValidationResult>
Validation result