Class MetalMemoryBufferView
- Namespace
- DotCompute.Backends.Metal.Memory
- Assembly
- DotCompute.Backends.Metal.dll
Metal-specific memory buffer view implementation.
public sealed class MetalMemoryBufferView : IUnifiedMemoryBuffer, IAsyncDisposable, IDisposable
- Inheritance
-
MetalMemoryBufferView
- Implements
- Inherited Members
- Extension Methods
Remarks
Initializes a new instance of the MetalMemoryBufferView class.
Constructors
MetalMemoryBufferView(MetalMemoryBuffer, long, long)
Metal-specific memory buffer view implementation.
public MetalMemoryBufferView(MetalMemoryBuffer parent, long offset, long length)
Parameters
parentMetalMemoryBufferThe parent buffer.
offsetlongThe offset in the parent buffer.
lengthlongThe length of the view.
Remarks
Initializes a new instance of the MetalMemoryBufferView class.
Properties
IsDisposed
Gets whether the buffer has been disposed.
public bool IsDisposed { get; }
Property Value
Options
Gets the memory allocation options.
public MemoryOptions Options { get; }
Property Value
SizeInBytes
Gets the size of the buffer in bytes.
public long SizeInBytes { get; }
Property Value
State
Gets the current state of the buffer.
public BufferState State { get; }
Property Value
Methods
CopyFromAsync<T>(ReadOnlyMemory<T>, long, CancellationToken)
Copies data from a source memory into this buffer.
public ValueTask CopyFromAsync<T>(ReadOnlyMemory<T> source, long offset = 0, CancellationToken cancellationToken = default) where T : unmanaged
Parameters
sourceReadOnlyMemory<T>The source memory to copy from.
offsetlongThe offset in bytes where to start copying.
cancellationTokenCancellationTokenCancellation token.
Returns
- ValueTask
A task representing the copy operation.
Type Parameters
TThe element type.
CopyFromHostAsync<T>(ReadOnlyMemory<T>, long, CancellationToken)
Legacy support method (calls CopyFromAsync).
public ValueTask CopyFromHostAsync<T>(ReadOnlyMemory<T> source, long offset = 0, CancellationToken cancellationToken = default) where T : unmanaged
Parameters
sourceReadOnlyMemory<T>offsetlongcancellationTokenCancellationToken
Returns
Type Parameters
T
CopyToAsync<T>(Memory<T>, long, CancellationToken)
Copies data from this buffer to a destination memory.
public ValueTask CopyToAsync<T>(Memory<T> destination, long offset = 0, CancellationToken cancellationToken = default) where T : unmanaged
Parameters
destinationMemory<T>The destination memory to copy to.
offsetlongThe offset in bytes where to start copying from.
cancellationTokenCancellationTokenCancellation token.
Returns
- ValueTask
A task representing the copy operation.
Type Parameters
TThe element type.
CopyToHostAsync<T>(Memory<T>, long, CancellationToken)
Legacy support method (calls CopyToAsync).
public ValueTask CopyToHostAsync<T>(Memory<T> destination, long offset = 0, CancellationToken cancellationToken = default) where T : unmanaged
Parameters
destinationMemory<T>offsetlongcancellationTokenCancellationToken
Returns
Type Parameters
T
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
DisposeAsync()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.
public ValueTask DisposeAsync()
Returns
- ValueTask
A task that represents the asynchronous dispose operation.