DeviceMemory — класс Подробнее...
#include </__w/1/s/gpu/containers/include/pcl/gpu/containers/device_memory.h>
Открытые методы | |
| DeviceMemory () | |
| Пустой конструктор. Подробнее... |
|
| ~DeviceMemory () | |
| Деструктор. Подробнее... |
|
| DeviceMemory (std::size_t sizeBytes_arg) | |
| Выделяет внутренний буфер в памяти GPU. Подробнее... |
|
| DeviceMemory (void *ptr_arg, std::size_t sizeBytes_arg) | |
| Инициализирует объект буфером, выделенным пользователем. Подробнее... |
|
| DeviceMemory (const DeviceMemory &other_arg) | |
| Конструктор копирования. Подробнее... |
|
| DeviceMemory & | operator= (const DeviceMemory &other_arg) |
| Оператор присваивания. Подробнее... |
|
| void | create (std::size_t sizeBytes_arg) |
| Выделяет внутренний буфер в памяти GPU. Подробнее... |
|
| void | release () |
| Уменьшает счётчик ссылок и при необходимости освобождает внутренний буфер. Подробнее... |
|
| void | copyTo (DeviceMemory &other) const |
| Выполняет копирование данных. Подробнее... |
|
| void | upload (const void *host_ptr_arg, std::size_t sizeBytes_arg) |
| Загружает данные во внутренний буфер в памяти GPU. Подробнее... |
|
| bool | upload (const void *host_ptr_arg, std::size_t device_begin_byte_offset, std::size_t num_bytes) |
| Загружает данные из памяти CPU в массив устройства. Подробнее... |
|
| void | download (void *host_ptr_arg) const |
| Загружает данные из внутреннего буфера в память CPU. Подробнее... |
|
| bool | download (void *host_ptr_arg, std::size_t device_begin_byte_offset, std::size_t num_bytes) const |
| Загружает данные из внутреннего буфера в память CPU. Подробнее... |
|
| void | swap (DeviceMemory &other_arg) |
| Меняет местами данные с данными, на которые указывает другая память устройства. Подробнее... |
|
| template<class T > | |
| T * | ptr () |
| Возвращает указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| template<class T > | |
| const T * | ptr () const |
| Возвращает константный указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| template<class U > | |
| operator PtrSz< U > () const | |
| Преобразование в PtrSz для передачи функциям ядра. Подробнее... |
|
| bool | empty () const |
| Возвращает true, если память не выделена, иначе false. Подробнее... |
|
| std::size_t | sizeBytes () const |
Подробное описание
DeviceMemory — класс
- Примечание
- Класс-контейнер BLOB с подсчётом ссылок для памяти GPU.
Определение в строке 54 файла device_memory.h.
Описание конструктора и деструктора
DeviceMemory() [1/4]
| pcl::gpu::DeviceMemory::DeviceMemory | ( | ) |
Пустой конструктор.
~DeviceMemory()
| pcl::gpu::DeviceMemory::~DeviceMemory | ( | ) |
Деструктор.
DeviceMemory() [2/4]
| pcl::gpu::DeviceMemory::DeviceMemory | ( | std::size_t | sizeBytes_arg | ) |
Выделяет внутренний буфер в памяти GPU.
- Параметры
-
sizeBytes_arg объём выделяемой памяти
DeviceMemory() [3/4]
| pcl::gpu::DeviceMemory::DeviceMemory | ( | void * | ptr_arg, |
| std::size_t | sizeBytes_arg | ||
| ) |
Инициализирует объект буфером, выделенным пользователем.
В этом случае подсчёт ссылок отключён.
- Параметры
-
ptr_arg указатель на буфер sizeBytes_arg размер буфера
DeviceMemory() [4/4]
| pcl::gpu::DeviceMemory::DeviceMemory | ( | const DeviceMemory & | other_arg | ) |
Конструктор копирования.
Только увеличивает счётчик ссылок.
Описание функций-членов
copyTo()
| void pcl::gpu::DeviceMemory::copyTo | ( | DeviceMemory & | other | ) | const |
Выполняет копирование данных.
Если размеры источника и назначения различаются, память назначения будет перераспределена.
- Параметры
-
other контейнер назначения
Используется в pcl::gpu::DeviceArray< T >::copyTo().
create()
| void pcl::gpu::DeviceMemory::create | ( | std::size_t | sizeBytes_arg | ) |
Выделяет внутренний буфер в памяти GPU.
Если внутренний буфер уже был создан, функция создаёт его заново с новым размером. Если новый и старый размеры совпадают, функция ничего не делает.
- Параметры
-
sizeBytes_arg размер буфера
download() [1/2]
| void pcl::gpu::DeviceMemory::download | ( | void * | host_ptr_arg | ) | const |
Загружает данные из внутреннего буфера в память CPU.
- Параметры
-
host_ptr_arg указатель на буфер для загрузки данных
Используется в pcl::gpu::DeviceArray< T >::download().
download() [2/2]
| bool pcl::gpu::DeviceMemory::download | ( | void * | host_ptr_arg, |
| std::size_t | device_begin_byte_offset, | ||
| std::size_t | num_bytes | ||
| ) | const |
Загружает данные из внутреннего буфера в память CPU.
- Возвращает
- true, если загрузка выполнена успешно
- Параметры
-
host_ptr_arg указатель на буфер для загрузки данных device_begin_byte_offset позиция первого загружаемого байта num_bytes количество загружаемых байтов
empty()
| bool pcl::gpu::DeviceMemory::empty | ( | ) | const |
Возвращает true, если память не выделена, и false в противном случае.
Используется в pcl::gpu::kinfuLS::StandaloneMarchingCubes< PointT >::convertTrianglesToMesh().
operator PtrSz< U >()
| inline |
Преобразование в PtrSz для передачи функциям ядра.
Определение в строке 60 файла device_memory.hpp.
Ссылки на pcl::gpu::DevPtr< T >::data и pcl::gpu::PtrSz< T >::size.
operator=()
| DeviceMemory& pcl::gpu::DeviceMemory::operator= | ( | const DeviceMemory & | other_arg | ) |
Оператор присваивания.
Только увеличивает счётчик ссылок.
Используется в pcl::gpu::DeviceArray< T >::operator=().
ptr() [1/2]
| inline |
Возвращает указатель на внутренний буфер в памяти GPU.
Определение в строке 47 файла device_memory.hpp.
ptr() [2/2]
| inline |
Возвращает указатель на константный внутренний буфер в памяти GPU.
Определение в строке 54 файла device_memory.hpp.
release()
| void pcl::gpu::DeviceMemory::release | ( | ) |
Уменьшает счётчик ссылок и при необходимости освобождает внутренний буфер.
sizeBytes()
| std::size_t pcl::gpu::DeviceMemory::sizeBytes | ( | ) | const |
Используется в pcl::gpu::AsyncCopy< T >::download() и pcl::gpu::TextureBinder::TextureBinder().
swap()
| void pcl::gpu::DeviceMemory::swap | ( | DeviceMemory & | other_arg | ) |
Выполняет обмен данными с другой памятью устройства, на которую указывает аргумент.
- Параметры
-
other_arg память устройства для обмена данными
Используется в pcl::gpu::DeviceArray< T >::swap().
upload() [1/2]
| bool pcl::gpu::DeviceMemory::upload | ( | const void * | host_ptr_arg, |
| std::size_t | device_begin_byte_offset, | ||
| std::size_t | num_bytes | ||
| ) |
Загружает данные из памяти CPU в массив устройства.
- Примечание
- В отличие от другой функции upload эта перегруженная функция никогда не выделяет память.
- Возвращает
- true, если загрузка выполнена успешно
- Параметры
-
host_ptr_arg указатель на буфер для загрузки данных device_begin_byte_offset позиция первого байта, в который будут загружены данные num_bytes количество загружаемых байтов
upload() [2/2]
| void pcl::gpu::DeviceMemory::upload | ( | const void * | host_ptr_arg, |
| std::size_t | sizeBytes_arg | ||
| ) |
Загружает данные во внутренний буфер в памяти GPU.
Внутри вызывает create(), чтобы убедиться, что размер внутреннего буфера достаточен.
- Параметры
-
host_ptr_arg указатель на буфер для загрузки данных sizeBytes_arg размер буфера
Используется в pcl::gpu::DeviceArray< float4 >::release() и pcl::gpu::DeviceArray< T >::upload().
Документация этого класса сгенерирована на основе следующих файлов:
- /__w/1/s/gpu/containers/include/pcl/gpu/containers/device_memory.h
- /__w/1/s/gpu/containers/include/pcl/gpu/containers/impl/device_memory.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1gpu_1_1_device_memory.html
