Class P2PCapabilityDetector
- Namespace
- DotCompute.Core.Memory
- Assembly
- DotCompute.Core.dll
Detects and manages P2P capabilities between accelerator devices.
public sealed class P2PCapabilityDetector : IAsyncDisposable
- Inheritance
-
P2PCapabilityDetector
- Implements
- Inherited Members
Constructors
P2PCapabilityDetector(ILogger)
Detects and manages P2P capabilities between accelerator devices.
public P2PCapabilityDetector(ILogger logger)
Parameters
loggerILogger
Methods
DetectP2PCapabilityAsync(IAccelerator, IAccelerator, CancellationToken)
Detects P2P capability between two devices using real hardware interrogation.
public ValueTask<P2PConnectionCapability> DetectP2PCapabilityAsync(IAccelerator device1, IAccelerator device2, CancellationToken cancellationToken = default)
Parameters
device1IAcceleratordevice2IAcceleratorcancellationTokenCancellationToken
Returns
DisableP2PAccessAsync(IAccelerator, IAccelerator, CancellationToken)
Disables P2P access between two devices.
public ValueTask<bool> DisableP2PAccessAsync(IAccelerator device1, IAccelerator device2, CancellationToken cancellationToken = default)
Parameters
device1IAcceleratordevice2IAcceleratorcancellationTokenCancellationToken
Returns
DisposeAsync()
Gets dispose asynchronously.
public ValueTask DisposeAsync()
Returns
- ValueTask
The result of the operation.
EnableP2PAccessAsync(IAccelerator, IAccelerator, CancellationToken)
Enables P2P access between two devices using platform-specific APIs.
public ValueTask<P2PEnableResult> EnableP2PAccessAsync(IAccelerator device1, IAccelerator device2, CancellationToken cancellationToken = default)
Parameters
device1IAcceleratordevice2IAcceleratorcancellationTokenCancellationToken
Returns
GetDeviceCapabilitiesAsync(IAccelerator, CancellationToken)
Gets comprehensive device capabilities including real P2P support detection.
public ValueTask<DeviceCapabilities> GetDeviceCapabilitiesAsync(IAccelerator device, CancellationToken cancellationToken = default)
Parameters
deviceIAcceleratorcancellationTokenCancellationToken
Returns
GetOptimalTransferStrategyAsync(IAccelerator, IAccelerator, long, CancellationToken)
Gets optimal transfer strategy for the given parameters.
public ValueTask<TransferStrategy> GetOptimalTransferStrategyAsync(IAccelerator sourceDevice, IAccelerator targetDevice, long transferSize, CancellationToken cancellationToken = default)
Parameters
sourceDeviceIAcceleratortargetDeviceIAcceleratortransferSizelongcancellationTokenCancellationToken