DeviceArray класс Подробнее...
#include </__w/1/s/gpu/containers/include/pcl/gpu/containers/device_array.h>
Общедоступные типы | |
| Перечисление | { elem_size = sizeof(T) } |
| Размер элемента. Подробнее... |
|
| using | type = T |
| Тип элемента. Подробнее... |
|
Публичные члены-функции | |
| DeviceArray () | |
| Пустой конструктор. Подробнее... |
|
| DeviceArray (std::size_t size) | |
| Выделяет внутренний буфер в памяти GPU. Подробнее... |
|
| DeviceArray (T *ptr, std::size_t size) | |
| Инициализирует с выделенным пользователем буфером. Подробнее... |
|
| DeviceArray (const DeviceArray &other) | |
| Конструктор копирования. Подробнее... |
|
| DeviceArray & | operator= (const DeviceArray &other) |
| Оператор присваивания. Подробнее... |
|
| void | create (std::size_t size) |
| Выделяет внутренний буфер в памяти GPU. Подробнее... |
|
| void | release () |
| Уменьшает счётчик ссылок и освобождает внутренний буфер при необходимости. Подробнее... |
|
| void | copyTo (DeviceArray &other) const |
| Выполняет копирование данных. Подробнее... |
|
| void | upload (const T *host_ptr, std::size_t size) |
| Загружает данные во внутренний буфер в памяти GPU. Подробнее... |
|
| bool | upload (const T *host_ptr, std::size_t device_begin_offset, std::size_t num_elements) |
| Загружает данные из памяти CPU во внутренний буфер. Подробнее... |
|
| void | download (T *host_ptr) const |
| Загружает данные из внутреннего буфера в память CPU. Подробнее... |
|
| bool | download (T *host_ptr, std::size_t device_begin_offset, std::size_t num_elements) const |
| Загружает данные из внутреннего буфера в память CPU. Подробнее... |
|
| template<class A > | |
| void | upload (const std::vector< T, A > &data) |
| Загружает данные во внутренний буфер в памяти GPU. Подробнее... |
|
| template<typename A > | |
| void | download (std::vector< T, A > &data) const |
| Загружает данные из внутреннего буфера в память CPU. Подробнее... |
|
| void | swap (DeviceArray &other_arg) |
| Производит обмен данными, указанными с другим массивом устройств. Подробнее... |
|
| T * | ptr () |
| Возвращает указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| const T * | ptr () const |
| Возвращает константный указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| operator T* () | |
| Возвращает указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| operator const T * () const | |
| Возвращает константный указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| std::size_t | size () const |
| Возвращает размер в элементах. Подробнее... |
|
|
| |
| 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) |
| Загружает данные из памяти процессора в массив устройства. Подробнее... |
|
| void | download (void *host_ptr_arg) const |
| Загружает данные из внутреннего буфера в память процессора. Подробнее... |
|
| bool | download (void *host_ptr_arg, std::size_t device_begin_byte_offset, std::size_t num_bytes) const |
| Загрузка данных из внутреннего буфера в оперативную память. Подробнее... |
|
| 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 |
Подробное описание
шаблон<class T>
класс pcl::gpu::DeviceArray< T >
DeviceArray класс
- Примечание
- Типизированный контейнер для памяти GPU со ссылочным подсчётом.
Определение в строке 54 файла device_array.h.
Документация псевдонимов типов
type
| используя pcl::gpu::DeviceArray< T >::type = T |
Тип элемента.
Определение в строке 57 файла device_array.h.
Документация перечислений
безымянный перечисление
| безымянный перечисление |
Документация конструкторов и деструкторов
DeviceArray() [1/4]
| inline |
Пустой конструктор.
Определение в строке 47 файла device_array.hpp.
DeviceArray() [2/4]
| inline |
Выделяет внутренний буфер в памяти GPU.
- Параметры
-
size количество элементов для выделения
Определение в строке 51 файла device_array.hpp.
DeviceArray() [3/4]
| inline |
Инициализируется с выделенным пользователем буфером.
Подсчет ссылок в этом случае отключен.
- Параметры
-
ptr указатель на буфер size количество элементов
Определение в строке 55 файла device_array.hpp.
DeviceArray() [4/4]
| inline |
Конструктор копирования.
Просто увеличивает счетчик ссылок.
Определение в строке 60 файла device_array.hpp.
Документация по функциям-членам
copyTo()
| inline |
Выполняет копирование данных.
Если размер назначения отличается, он будет перевыделен.
- Параметры
-
other контейнер назначения
Определение в строке 87 файла device_array.hpp.
Ссылки на pcl::gpu::DeviceMemory::copyTo().
create()
| inline |
Выделяет внутренний буфер в памяти GPU.
Если внутренний буфер был создан ранее, функция пересоздаёт его с новым размером. Если новые и старые размеры совпадают, она ничего не делает.
- Параметры
-
size количество элементов
Определение в строке 73 файла device_array.hpp.
Ссылка на pcl::gpu::copyFieldsEx(), pcl::gpu::NeighborIndices::create(), и pcl::gpu::extractEuclideanClusters().
download() [1/3]
| inline |
Загрузка данных из внутреннего буфера в оперативную память ЦП.
- Parameters
-
data вектор хоста для загрузки
Определение в строке 179 файла device_array.hpp.
download() [2/3]
| inline |
Загрузка данных из внутреннего буфера в оперативную память ЦП.
- Parameters
-
host_ptr указатель на буфер для загрузки
Определение в строке 112 файла device_array.hpp.
Ссылки на pcl::gpu::DeviceMemory::download().
Используется в pcl::gpu::kinfuLS::StandaloneMarchingCubes< PointT >::convertTrianglesToMesh(), pcl::gpu::extractEuclideanClusters() и pcl::gpu::extractLabeledEuclideanClusters().
download() [3/3]
| inline |
Загрузка данных из внутреннего буфера в оперативную память ЦП.
- Returns
- true, если загрузка успешна
- Parameters
-
host_ptr указатель на буфер для загрузки device_begin_offset начало загрузки num_elements количество элементов с device_begin_offset
Определение в строке 119 файла device_array.hpp.
operator const T *()
| inline |
Возвращает постоянный указатель на внутренний буфер в памяти GPU.
Определение в строке 142 файла device_array.hpp.
operator T*()
| inline |
Возвращает указатель на внутренний буфер в памяти GPU.
Определение в строке 136 файла device_array.hpp.
operator=()
| inline |
Оператор присваивания.
Просто увеличивает счётчик ссылок.
Определение в строке 65 файла device_array.hpp.
Ссылки на pcl::gpu::DeviceMemory::operator=().
ptr() [1/2]
| inline |
Возвращает указатель на внутренний буфер в памяти GPU.
Определение в строке 156 файла device_array.hpp.
Используется в pcl::gpu::copyFieldsEx(), pcl::gpu::AsyncCopy< T >::download(), pcl::gpu::extractEuclideanClusters(), pcl::gpu::NeighborIndices::operator PtrStep< int >(), pcl::gpu::TextureBinder::TextureBinder() и pcl::gpu::AsyncCopy< T >::upload().
ptr() [2/2]
| inline |
Возвращает константный указатель на внутренний буфер в памяти GPU.
Определение в строке 163 файла device_array.hpp.
release()
| inline |
Уменьшает счётчик ссылок и освобождает внутренний буфер при необходимости.
Определение в строке 80 файла device_array.hpp.
size()
| inline |
Возвращает размер в элементах.
Определение в строке 149 файла device_array.hpp.
Используется в pcl::gpu::kinfuLS::StandaloneMarchingCubes< PointT >::convertTrianglesToMesh(), pcl::gpu::copyFieldsEx(), pcl::gpu::NeighborIndices::neighboors_size(), pcl::gpu::AsyncCopy< T >::upload() и pcl::gpu::NeighborIndices::validate().
swap()
| void pcl::gpu::DeviceArray< T >::swap | ( | DeviceArray< T > & | other_arg | ) |
Выполняет обмен данными, указанными с помощью другого массива устройства.
- Параметры
-
other_arg массив устройств, с которым нужно произвести обмен
Определение в строке 130 файла device_array.hpp.
Ссылки на pcl::gpu::DeviceMemory::swap().
upload() [1/3]
| inline |
Загружает данные во внутренний буфер в памяти GPU.
Внутри вызывает create(), чтобы убедиться, что размер внутреннего буфера достаточен.
- Параметры
-
data вектор хоста для загрузки
Определение в строке 171 файла device_array.hpp.
upload() [2/3]
| inline |
Загружает данные из памяти процессора в внутренний буфер.
- Возвращает
- true, если загрузка выполнена успешно
- Примечание
- В отличие от других функций загрузки, эта функция никогда не выделяет память.
- Параметры
-
host_ptr указатель на буфер для загрузки device_begin_offset начало загрузки num_elements количество элементов с device_bein_offset
Определение в строке 101 файла device_array.hpp.
Ссылки на pcl::gpu::DeviceMemory::upload().
upload() [3/3]
| inline |
Загружает данные во внутренний буфер в памяти GPU.
Вызывает create() внутри, чтобы гарантировать, что размер внутреннего буфера достаточно.
- Параметры
-
host_ptr указатель на буфер для загрузки size количество элементов
Определение в строке 94 файла device_array.hpp.
Используется в pcl::gpu::extractEuclideanClusters() и pcl::gpu::extractLabeledEuclideanClusters().
Документация для этого класса была сгенерирована из следующих файлов:
- /__w/1/s/gpu/containers/include/pcl/gpu/containers/device_array.h
- /__w/1/s/gpu/containers/include/pcl/gpu/containers/impl/device_array.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_array.html