Table of Contents

Class CudaCompiledKernelExtensions

Namespace
DotCompute.Backends.CUDA.Compilation
Assembly
DotCompute.Backends.CUDA.dll

Extensions and utilities for CudaCompiledKernel with modern architecture support.

public static class CudaCompiledKernelExtensions
Inheritance
CudaCompiledKernelExtensions
Inherited Members

Methods

CreateEnhanced(CudaContext, string, string, byte[], CompilationOptions?, ILogger, ICompilationMetadata?)

Creates an enhanced compiled kernel with optimizations for modern architectures.

public static CudaCompiledKernel CreateEnhanced(CudaContext context, string name, string entryPoint, byte[] compiledCode, CompilationOptions? options, ILogger logger, ICompilationMetadata? metadata = null)

Parameters

context CudaContext
name string
entryPoint string
compiledCode byte[]
options CompilationOptions
logger ILogger
metadata ICompilationMetadata

Returns

CudaCompiledKernel

GetOptimalLaunchConfigForModernGPU(CudaCompiledKernel, int, int)

Gets optimal launch configuration for Ada generation and newer architectures.

public static CudaLaunchConfig GetOptimalLaunchConfigForModernGPU(this CudaCompiledKernel kernel, int totalElements, int deviceId)

Parameters

kernel CudaCompiledKernel
totalElements int
deviceId int

Returns

CudaLaunchConfig

GetPerformanceHints(int)

Gets architecture-specific performance hints for kernel optimization.

public static string[] GetPerformanceHints(int deviceId)

Parameters

deviceId int

Returns

string[]

GetRecommendedSharedMemory(string, int, int)

Gets recommended shared memory configuration for the kernel and architecture.

public static uint GetRecommendedSharedMemory(string kernelName, int deviceId, int blockSize)

Parameters

kernelName string
deviceId int
blockSize int

Returns

uint

ValidateEnhancedLaunchConfig(CudaLaunchConfig, int)

Validates launch configuration against modern GPU limits.

public static bool ValidateEnhancedLaunchConfig(CudaLaunchConfig config, int deviceId)

Parameters

config CudaLaunchConfig
deviceId int

Returns

bool