Interface ISyncMemoryManager
- Namespace
- DotCompute.Abstractions
- Assembly
- DotCompute.Abstractions.dll
Synchronous memory manager interface for backends that don't require async operations.
public interface ISyncMemoryManager : IDisposable
- Inherited Members
- Extension Methods
Methods
Allocate(long, MemoryOptions)
Allocates memory with the specified size.
ISyncMemoryBuffer Allocate(long sizeInBytes, MemoryOptions options = MemoryOptions.None)
Parameters
sizeInByteslongoptionsMemoryOptions
Returns
AllocateAligned(long, int, MemoryOptions)
Allocates memory with the specified size and alignment.
ISyncMemoryBuffer AllocateAligned(long sizeInBytes, int alignment, MemoryOptions options = MemoryOptions.None)
Parameters
sizeInByteslongalignmentintoptionsMemoryOptions
Returns
Copy(ISyncMemoryBuffer, ISyncMemoryBuffer, long, long, long)
Copies data between memory buffers.
void Copy(ISyncMemoryBuffer source, ISyncMemoryBuffer destination, long sizeInBytes, long sourceOffset = 0, long destinationOffset = 0)
Parameters
sourceISyncMemoryBufferdestinationISyncMemoryBuffersizeInByteslongsourceOffsetlongdestinationOffsetlong
CopyFromHost(void*, ISyncMemoryBuffer, long, long)
Copies data from host memory to a device buffer.
void CopyFromHost(void* source, ISyncMemoryBuffer destination, long sizeInBytes, long destinationOffset = 0)
Parameters
sourcevoid*destinationISyncMemoryBuffersizeInByteslongdestinationOffsetlong
CopyToHost(ISyncMemoryBuffer, void*, long, long)
Copies data from a device buffer to host memory.
void CopyToHost(ISyncMemoryBuffer source, void* destination, long sizeInBytes, long sourceOffset = 0)
Parameters
sourceISyncMemoryBufferdestinationvoid*sizeInByteslongsourceOffsetlong
Fill(ISyncMemoryBuffer, byte, long, long)
Fills a buffer with a specific byte value.
void Fill(ISyncMemoryBuffer buffer, byte value, long sizeInBytes, long offset = 0)
Parameters
bufferISyncMemoryBuffervaluebytesizeInByteslongoffsetlong
Free(ISyncMemoryBuffer)
Frees a memory buffer.
void Free(ISyncMemoryBuffer buffer)
Parameters
bufferISyncMemoryBuffer
GetStatistics()
Gets memory usage statistics.
MemoryStatistics GetStatistics()
Returns
Reset()
Resets the memory manager, freeing all allocations.
void Reset()
Zero(ISyncMemoryBuffer)
Zeros out a buffer.
void Zero(ISyncMemoryBuffer buffer)
Parameters
bufferISyncMemoryBuffer