Class KernelRegistrationInfo
- Namespace
- DotCompute.Runtime.Services
- Assembly
- DotCompute.Runtime.dll
Information about a registered kernel from the generated registry.
public class KernelRegistrationInfo
- Inheritance
-
KernelRegistrationInfo
- Inherited Members
Properties
ContainingType
Gets the type containing the kernel method.
public required Type ContainingType { get; init; }
Property Value
CpuInvoker
Generator-emitted CPU invoker: void (KernelArguments args, int start, int end). It
unpacks the kernel arguments into typed spans/scalars and runs the kernel body over the
half-open work range [start, end). Null when the kernel does not target CPU. This is the
AOT-safe CPU execution path (no runtime C# compilation).
public Delegate? CpuInvoker { get; init; }
Property Value
CudaEntryPoint
CUDA-C entry point (the extern "C" global function name) for CudaSource.
Defaults to Name when not set.
public string? CudaEntryPoint { get; init; }
Property Value
CudaNeedsLength
True when CudaSource declares a trailing implicit unsigned int __length
parameter (the kernel body used a buffer's .Length, which a CUDA pointer lacks). When
set, the runtime appends the work-item count as an extra scalar argument for CUDA launches.
public bool CudaNeedsLength { get; init; }
Property Value
CudaSource
Real CUDA-C source for the kernel (translated from the [Kernel] body by the source generator). When present, the CUDA backend compiles this directly via NVRTC. Null when the kernel does not target CUDA or generation produced no source.
public string? CudaSource { get; init; }
Property Value
Dimensions
Launch dimensionality (1, 2, or 3), detected by the generator from which of
KernelContext.ThreadId.X/.Y/.Z the kernel body uses. The runtime derives a
D-dimensional launch whose per-axis extents are the last D integer scalar arguments
(last → X, second-last → Y, third-last → Z). Defaults to 1 (flat over the output).
public int Dimensions { get; init; }
Property Value
ExtentParamIndices
Per-dimension parameter indices supplying the launch extents, detected by the generator
from the kernel's own guard comparisons (e.g. x >= width maps width to the X
extent). -1 for undetected dimensions; null when nothing was detected. Positional
heuristics remain the fallback.
public int[]? ExtentParamIndices { get; init; }
Property Value
- int[]
FullName
Gets the fully qualified kernel name.
public required string FullName { get; init; }
Property Value
IsParallel
Gets whether the kernel supports parallel execution.
public bool IsParallel { get; init; }
Property Value
Metadata
Gets additional kernel metadata.
public Dictionary<string, object> Metadata { get; init; }
Property Value
MetalSource
Real Metal Shading Language source for the kernel. Null when not targeting Metal.
public string? MetalSource { get; init; }
Property Value
Name
Gets the kernel name.
public required string Name { get; init; }
Property Value
Parameters
Ordered parameter descriptors matching the kernel method signature. Drives argument marshalling (buffer vs scalar), writable-output copy-back, and launch-size derivation.
public IReadOnlyList<KernelParameterInfo> Parameters { get; init; }
Property Value
SupportedBackends
Gets the supported backend types.
public required string[] SupportedBackends { get; init; }
Property Value
- string[]
VectorSize
Gets the preferred vector size for SIMD operations.
public int VectorSize { get; init; }