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
trueif 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
nullif 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
trueif 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.