Table of Contents

Class CudaKernelOperation

Namespace
DotCompute.Backends.CUDA.Execution.Graph
Assembly
DotCompute.Backends.CUDA.dll

Represents a single kernel operation within a CUDA graph, including all necessary execution parameters and optimization configurations for RTX 2000 Ada architecture.

public sealed class CudaKernelOperation
Inheritance
CudaKernelOperation
Inherited Members

Remarks

This class encapsulates all information needed to execute a kernel within a graph context, including advanced features like tensor core usage, memory access patterns, and warp scheduling.

Properties

Arguments

Gets or sets the arguments to pass to the kernel during execution.

public CudaKernelArguments Arguments { get; set; }

Property Value

CudaKernelArguments

A CudaKernelArguments instance containing the kernel parameters.

CacheConfig

Gets or sets the cache configuration preference for this operation.

public CacheConfig CacheConfig { get; set; }

Property Value

CacheConfig

A CacheConfig value specifying cache utilization preferences.

InputDimensions

Gets or sets a string representation of the input data dimensions.

public string InputDimensions { get; set; }

Property Value

string

A string describing the input tensor dimensions for optimization purposes.

IsFused

Gets or sets a value indicating whether this operation is the result of kernel fusion.

public bool IsFused { get; set; }

Property Value

bool

true if this operation was created by fusing multiple kernels; otherwise, false.

Kernel

Gets or sets the compiled kernel to be executed.

public CudaCompiledKernel Kernel { get; set; }

Property Value

CudaCompiledKernel

A CudaCompiledKernel instance representing the executable kernel.

LaunchConfig

Gets or sets the launch configuration specifying grid and block dimensions.

public CudaLaunchConfig LaunchConfig { get; set; }

Property Value

CudaLaunchConfig

A CudaLaunchConfig instance defining the execution dimensions.

MemoryAccessPattern

Gets or sets the memory access pattern for this operation.

public MemoryAccessPattern MemoryAccessPattern { get; set; }

Property Value

MemoryAccessPattern

A MemoryAccessPattern value indicating the memory access strategy.

Name

Gets or sets a human-readable name for this operation.

public string Name { get; set; }

Property Value

string

A string representing the operation name for debugging and profiling purposes.

OriginalOperations

Gets or sets the original operations that were fused to create this operation.

public IReadOnlyList<CudaKernelOperation>? OriginalOperations { get; set; }

Property Value

IReadOnlyList<CudaKernelOperation>

A collection of CudaKernelOperation instances that were combined, or null if not fused.

OutputDimensions

Gets or sets a string representation of the output data dimensions.

public string OutputDimensions { get; set; }

Property Value

string

A string describing the output tensor dimensions for optimization purposes.

TensorCoreConfig

Gets or sets the tensor core configuration for optimized matrix operations.

public TensorCoreConfig? TensorCoreConfig { get; set; }

Property Value

TensorCoreConfig

A nullable TensorCoreConfig specifying tensor core parameters.

Type

Gets or sets the type classification of this kernel operation.

public CudaKernelType Type { get; set; }

Property Value

CudaKernelType

A CudaKernelType value indicating the operation category.

UseTensorCores

Gets or sets a value indicating whether this operation should utilize tensor cores.

public bool UseTensorCores { get; set; }

Property Value

bool

true if tensor cores should be used for matrix operations; otherwise, false.

WarpScheduling

Gets or sets the warp scheduling mode for this operation.

public WarpSchedulingMode WarpScheduling { get; set; }

Property Value

WarpSchedulingMode

A WarpSchedulingMode value indicating the scheduling strategy.