Table of Contents

Class CudaCooperativeGroupsManager

Namespace
DotCompute.Backends.CUDA.Advanced
Assembly
DotCompute.Backends.CUDA.dll

Manager for CUDA Cooperative Groups functionality

public sealed class CudaCooperativeGroupsManager : IDisposable
Inheritance
CudaCooperativeGroupsManager
Implements
Inherited Members
Extension Methods

Constructors

CudaCooperativeGroupsManager(CudaContext, CudaDeviceProperties, ILogger)

Initializes a new instance of the CudaCooperativeGroupsManager class.

public CudaCooperativeGroupsManager(CudaContext context, CudaDeviceProperties deviceProperties, ILogger logger)

Parameters

context CudaContext

The context.

deviceProperties CudaDeviceProperties

The device properties.

logger ILogger

The logger.

Properties

IsMultiDeviceSupported

Gets whether multi-device cooperative launch is supported

public bool IsMultiDeviceSupported { get; }

Property Value

bool

IsSupported

Gets whether Cooperative Groups are supported on this device

public bool IsSupported { get; }

Property Value

bool

Methods

Dispose()

Performs dispose.

public void Dispose()

GetMetrics()

Gets metrics for cooperative groups usage

public CudaCooperativeGroupsMetrics GetMetrics()

Returns

CudaCooperativeGroupsMetrics

LaunchCooperativeKernelAsync(CudaCooperativeKernel, KernelArguments, CudaCooperativeLaunchConfig, CancellationToken)

Launches a cooperative kernel

public Task<CudaCooperativeLaunchResult> LaunchCooperativeKernelAsync(CudaCooperativeKernel cooperativeKernel, KernelArguments arguments, CudaCooperativeLaunchConfig launchConfig, CancellationToken cancellationToken = default)

Parameters

cooperativeKernel CudaCooperativeKernel
arguments KernelArguments
launchConfig CudaCooperativeLaunchConfig
cancellationToken CancellationToken

Returns

Task<CudaCooperativeLaunchResult>

OptimizeKernelAsync(CudaCompiledKernel, KernelArgument[], CancellationToken)

Optimizes a kernel for cooperative groups execution

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()