Table of Contents

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

logger ILogger

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

device1 IAccelerator
device2 IAccelerator
cancellationToken CancellationToken

Returns

ValueTask<P2PConnectionCapability>

DisableP2PAccessAsync(IAccelerator, IAccelerator, CancellationToken)

Disables P2P access between two devices.

public ValueTask<bool> DisableP2PAccessAsync(IAccelerator device1, IAccelerator device2, CancellationToken cancellationToken = default)

Parameters

device1 IAccelerator
device2 IAccelerator
cancellationToken CancellationToken

Returns

ValueTask<bool>

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

device1 IAccelerator
device2 IAccelerator
cancellationToken CancellationToken

Returns

ValueTask<P2PEnableResult>

GetDeviceCapabilitiesAsync(IAccelerator, CancellationToken)

Gets comprehensive device capabilities including real P2P support detection.

public ValueTask<DeviceCapabilities> GetDeviceCapabilitiesAsync(IAccelerator device, CancellationToken cancellationToken = default)

Parameters

device IAccelerator
cancellationToken CancellationToken

Returns

ValueTask<DeviceCapabilities>

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

sourceDevice IAccelerator
targetDevice IAccelerator
transferSize long
cancellationToken CancellationToken

Returns

ValueTask<TransferStrategy>