Class CudaDynamicParallelismManager
- Namespace
- DotCompute.Backends.CUDA.Advanced
- Assembly
- DotCompute.Backends.CUDA.dll
Manager for CUDA Dynamic Parallelism functionality
public sealed class CudaDynamicParallelismManager : IDisposable
- Inheritance
-
CudaDynamicParallelismManager
- Implements
- Inherited Members
- Extension Methods
Constructors
CudaDynamicParallelismManager(CudaContext, CudaDeviceProperties, ILogger)
Initializes a new instance of the CudaDynamicParallelismManager class.
public CudaDynamicParallelismManager(CudaContext context, CudaDeviceProperties deviceProperties, ILogger logger)
Parameters
contextCudaContextThe context.
devicePropertiesCudaDevicePropertiesThe device properties.
loggerILoggerThe logger.
Properties
IsSupported
Gets whether Dynamic Parallelism is supported (requires SM 3.5+)
public bool IsSupported { get; }
Property Value
Metrics
Gets metrics for dynamic parallelism usage
public CudaDynamicParallelismMetrics Metrics { get; }
Property Value
Methods
Dispose()
Performs dispose.
public void Dispose()
OptimizeKernelAsync(CudaCompiledKernel, KernelArgument[], CancellationToken)
Optimizes a kernel for dynamic parallelism
public Task<CudaOptimizationResult> OptimizeKernelAsync(CudaCompiledKernel kernel, KernelArgument[] arguments, CancellationToken cancellationToken = default)
Parameters
kernelCudaCompiledKernelargumentsKernelArgument[]cancellationTokenCancellationToken
Returns
PerformMaintenance()
Performs maintenance operations
public void PerformMaintenance()