MemoryObject<T>
public uint Count { get; set; }
Language: C#
Количество элементов в буфере
public int TypeBytes { get; }
Language: C#
Return Value: Marshal.SizeOf(typeof(T))
Количество байт у типа
public nuint SizeInBytes
Language: C#
Размер буфера в байтах
public MemFlags Flags { get; set; }
Language: C#
Флаги памяти этого объекта
public unsafe MemoryObject(ComputeContext context, T[] buffer, MemFlags flags)
Language: C#
Инициализирует объект памяти OpenCL с заданным буфером и флагами
Parameters:
- buffer: Массив данных для инициализации объекта памяти
- flags: Флаги памяти OpenCL
public unsafe MemoryObject(ComputeContext context, uint size, MemFlags flags)
Language: C#
Инициализирует объект памяти OpenCL с заданным размером и флагами
Parameters:
- context: Контекст OpenCL для выполнения вычислений
- size: Размер объекта памяти в элементах типа T
- flags: Флаги памяти OpenCL
public static MemoryObject<T> CreateReadOnly(ComputeContext context, T[] data)
Language: C#
Создает буфер только для чтения с данными
public static MemoryObject<T> CreateReadWrite(ComputeContext context, uint size)
Language: C#
Создает буфер для чтения и записи
public static MemoryObject<T> CreateWriteOnly(ComputeContext context, uint size)
Language: C#
Создает буфер только для записи
public unsafe void Read(CommandQueue queue, uint offset, T[] buffer)
Language: C#
Читает данные из объекта памяти в указанный буфер
Parameters:
- queue: Очередь команд для выполнения операции чтения
- offset: Смещение в объекте памяти в элементах типа T
- buffer: Буфер для чтения данных
public unsafe void Read(CommandQueue queue, uint offset, Span<T> buffer)
Language: C#
Читает данные из объекта памяти в Span
Parameters:
- queue: Очередь команд для выполнения операции чтения
- offset: Смещение в объекте памяти в элементах типа T
- buffer: Span для чтения данных
public unsafe void Write(CommandQueue queue, uint offset, T[] buffer)
Language: C#
Записывает данные из указанного буфера в объект памяти
Parameters:
- queue: Очередь команд для выполнения операции записи
- offset: Смещение в объекте памяти в элементах типа T
- buffer: Буфер с данными для записи
public unsafe void Write(CommandQueue queue, uint offset, ReadOnlySpan<T> data)
Language: C#
Записывает данные из ReadOnlySpan в объект памяти
Parameters:
- queue: Очередь команд для выполнения операции записи
- offset: Смещение в объекте памяти в элементах типа T
- data: Данные для записи
public unsafe void CopyTo(CommandQueue queue, MemoryObject<T> destination, nint srcOffset, nint dstOffset, uint size)
Language: C#
public unsafe void GetProperty(MemInfo info, out T1 value)
Language: C#
Получает свойство объекта памяти OpenCL
Type Parameters:
- T1: Тип свойства
Parameters:
- info: Параметр запрашиваемого свойства
- value: Переменная для хранения значения свойства
public void Dispose()
Language: C#
Освобождает объект памяти OpenCL