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
contextCudaContextThe context.
loggerILogger<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
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
errorCudaErroroperationstringcontextobjectcancellationTokenCancellationToken
Returns
PerformHealthCheckAsync(CancellationToken)
Performs a comprehensive health check and recovery
public Task<CudaHealthCheckResult> PerformHealthCheckAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
ResetContextAsync(CancellationToken)
Resets the CUDA context in case of severe errors
public Task<bool> ResetContextAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken