Table of Contents

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

context CudaContext

The context.

deviceProperties CudaDeviceProperties

The device properties.

logger ILogger

The logger.

Properties

IsSupported

Gets whether Dynamic Parallelism is supported (requires SM 3.5+)

public bool IsSupported { get; }

Property Value

bool

Metrics

Gets metrics for dynamic parallelism usage

public CudaDynamicParallelismMetrics Metrics { get; }

Property Value

CudaDynamicParallelismMetrics

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

kernel CudaCompiledKernel
arguments KernelArgument[]
cancellationToken CancellationToken

Returns

Task<CudaOptimizationResult>

PerformMaintenance()

Performs maintenance operations

public void PerformMaintenance()