Table of Contents

Class CudaErrorRecovery

Namespace
DotCompute.Backends.CUDA.ErrorHandling
Assembly
DotCompute.Backends.CUDA.dll

Comprehensive CUDA error handling and recovery system

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

Constructors

CudaErrorRecovery(CudaContext, ILogger<CudaErrorRecovery>)

Initializes a new instance of the CudaErrorRecovery class.

public CudaErrorRecovery(CudaContext context, ILogger<CudaErrorRecovery> logger)

Parameters

context CudaContext

The context.

logger ILogger<CudaErrorRecovery>

The logger.

Exceptions

ArgumentNullException

context or logger

Methods

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

GetErrorStatistics()

Gets error statistics and patterns

public CudaErrorStatistics GetErrorStatistics()

Returns

CudaErrorStatistics

HandleErrorAsync(CudaError, string, object?, CancellationToken)

Handles a CUDA error with appropriate recovery strategy

public Task<CudaErrorRecoveryResult> HandleErrorAsync(CudaError error, string operation, object? context = null, CancellationToken cancellationToken = default)

Parameters

error CudaError
operation string
context object
cancellationToken CancellationToken

Returns

Task<CudaErrorRecoveryResult>

PerformHealthCheckAsync(CancellationToken)

Performs a comprehensive health check and recovery

public Task<CudaHealthCheckResult> PerformHealthCheckAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<CudaHealthCheckResult>

ResetContextAsync(CancellationToken)

Resets the CUDA context in case of severe errors

public Task<bool> ResetContextAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<bool>