Table of Contents

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

sizeInBytes long
options MemoryOptions

Returns

ISyncMemoryBuffer

AllocateAligned(long, int, MemoryOptions)

Allocates memory with the specified size and alignment.

ISyncMemoryBuffer AllocateAligned(long sizeInBytes, int alignment, MemoryOptions options = MemoryOptions.None)

Parameters

sizeInBytes long
alignment int
options MemoryOptions

Returns

ISyncMemoryBuffer

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

source ISyncMemoryBuffer
destination ISyncMemoryBuffer
sizeInBytes long
sourceOffset long
destinationOffset long

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

source void*
destination ISyncMemoryBuffer
sizeInBytes long
destinationOffset long

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

source ISyncMemoryBuffer
destination void*
sizeInBytes long
sourceOffset long

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

buffer ISyncMemoryBuffer
value byte
sizeInBytes long
offset long

Free(ISyncMemoryBuffer)

Frees a memory buffer.

void Free(ISyncMemoryBuffer buffer)

Parameters

buffer ISyncMemoryBuffer

GetStatistics()

Gets memory usage statistics.

MemoryStatistics GetStatistics()

Returns

MemoryStatistics

Reset()

Resets the memory manager, freeing all allocations.

void Reset()

Zero(ISyncMemoryBuffer)

Zeros out a buffer.

void Zero(ISyncMemoryBuffer buffer)

Parameters

buffer ISyncMemoryBuffer