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
contextCudaContextThe context.
devicePropertiesCudaDevicePropertiesThe device properties.
loggerILoggerThe logger.
Properties
IsMultiDeviceSupported
Gets whether multi-device cooperative launch is supported
public bool IsMultiDeviceSupported { get; }
Property Value
IsSupported
Gets whether Cooperative Groups are supported on this device
public bool IsSupported { get; }
Property Value
Methods
Dispose()
Performs dispose.
public void Dispose()
GetMetrics()
Gets metrics for cooperative groups usage
public CudaCooperativeGroupsMetrics GetMetrics()
Returns
LaunchCooperativeKernelAsync(CudaCooperativeKernel, KernelArguments, CudaCooperativeLaunchConfig, CancellationToken)
Launches a cooperative kernel
public Task<CudaCooperativeLaunchResult> LaunchCooperativeKernelAsync(CudaCooperativeKernel cooperativeKernel, KernelArguments arguments, CudaCooperativeLaunchConfig launchConfig, CancellationToken cancellationToken = default)
Parameters
cooperativeKernelCudaCooperativeKernelargumentsKernelArgumentslaunchConfigCudaCooperativeLaunchConfigcancellationTokenCancellationToken
Returns
OptimizeKernelAsync(CudaCompiledKernel, KernelArgument[], CancellationToken)
Optimizes a kernel for cooperative groups execution
public Task<CudaOptimizationResult> OptimizeKernelAsync(CudaCompiledKernel kernel, KernelArgument[] arguments, CancellationToken cancellationToken = default)
Parameters
kernelCudaCompiledKernelargumentsKernelArgument[]cancellationTokenCancellationToken
Returns
PerformMaintenance()
Performs maintenance operations
public void PerformMaintenance()