Table of Contents

Class CudaTensorCoreManager

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

Manager for CUDA Tensor Core operations (RTX 2000 Ada specific)

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

Constructors

CudaTensorCoreManager(CudaContext, CudaDeviceProperties, ILogger)

Initializes a new instance of the CudaTensorCoreManager class.

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

Parameters

context CudaContext

The context.

deviceProperties CudaDeviceProperties

The device properties.

logger ILogger

The logger.

Properties

IsSupported

Gets whether Tensor Cores are supported on this device

public bool IsSupported { get; }

Property Value

bool

Metrics

Gets performance metrics for Tensor Core usage

public CudaTensorCoreMetrics Metrics { get; }

Property Value

CudaTensorCoreMetrics

TensorCoreGeneration

Gets the Tensor Core generation

public int TensorCoreGeneration { get; }

Property Value

int

Methods

Dispose()

Performs dispose.

public void Dispose()

ExecuteOptimizedGEMMAsync(CudaTensorGEMMOperation, CancellationToken)

Creates an optimized GEMM operation using Tensor Cores

public Task<CudaTensorCoreExecutionResult> ExecuteOptimizedGEMMAsync(CudaTensorGEMMOperation gemmOp, CancellationToken cancellationToken = default)

Parameters

gemmOp CudaTensorGEMMOperation
cancellationToken CancellationToken

Returns

Task<CudaTensorCoreExecutionResult>

ExecuteTensorOperationAsync(CudaTensorOperation, CancellationToken)

Executes a Tensor Core optimized operation

public Task<CudaTensorCoreExecutionResult> ExecuteTensorOperationAsync(CudaTensorOperation operation, CancellationToken cancellationToken = default)

Parameters

operation CudaTensorOperation
cancellationToken CancellationToken

Returns

Task<CudaTensorCoreExecutionResult>

OptimizeKernelAsync(CudaCompiledKernel, KernelArgument[], CancellationToken)

Optimizes a kernel for Tensor Core acceleration

public Task<CudaOptimizationResult> OptimizeKernelAsync(CudaCompiledKernel kernel, KernelArgument[] arguments, CancellationToken cancellationToken = default)

Parameters

kernel CudaCompiledKernel
arguments KernelArgument[]
cancellationToken CancellationToken

Returns

Task<CudaOptimizationResult>

OptimizeMemoryLayout(CudaTensorDescriptor, CudaTensorPrecision)

Optimizes memory layout for Tensor Core operations

public CudaTensorMemoryLayout OptimizeMemoryLayout(CudaTensorDescriptor descriptor, CudaTensorPrecision precision)

Parameters

descriptor CudaTensorDescriptor
precision CudaTensorPrecision

Returns

CudaTensorMemoryLayout

PerformMaintenance()

Performs maintenance operations

public void PerformMaintenance()