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