Table of Contents

Interface IKernelCompilerService

Namespace
DotCompute.Runtime.Services.Interfaces
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

definition KernelDefinition

The kernel definition

accelerator IAccelerator

The target accelerator

options CompilationOptions

Compilation 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

definition KernelDefinition

The kernel definition

accelerator IAccelerator

The 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

definitions IEnumerable<KernelDefinition>

The kernel definitions to pre-compile

accelerator IAccelerator

The 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

definition KernelDefinition

The kernel definition

accelerator IAccelerator

The target accelerator

Returns

Task<KernelValidationResult>

Validation result