VisionCpp  0.0.1
Classes | Namespaces | Functions | Variables
memory.hpp File Reference

this file contains a set of forward declarations and include headers required for constructing and accessing memory on both host and device. More...

#include "mem_const.hpp"
#include "mem_prop.hpp"
#include "mem_virtual.hpp"
#include "mem_vision.hpp"
#include "memory_access/memory_access.hpp"
Include dependency graph for memory.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  visioncpp::internal::OutputMemory< ElementType, LeafType, Cols, Rows, LVL >
 OutputMemory is used to deduce the output type of each node in the expression tree by using certain parameters from its child(ren). More...
 
struct  visioncpp::internal::SyclRange< 2 >
 specialisation of the SyclRange when the dimension is 2 More...
 
struct  visioncpp::internal::SyclRange< 1 >
 specialisation of the SyclRange when the dimension is 1 More...
 
struct  visioncpp::internal::SyclScope< LeafType, scope::Global >
 
struct  visioncpp::internal::SyclScope< LeafType, scope::Host_Buffer >
 
struct  visioncpp::internal::SyclScope< LeafType, scope::Local >
 
struct  visioncpp::internal::SyclScope< LeafType, scope::Constant >
 
struct  visioncpp::internal::SyclScope< memory_type::Image, scope::Global >
 specialisation of the SyclScope when the memory type is Image More...
 
struct  visioncpp::internal::ConvertToVisionScope< cl::sycl::access::target::global_buffer >
 specialisation of ConvertToVisionScope where the target is global_buffer More...
 
struct  visioncpp::internal::ConvertToVisionScope< cl::sycl::access::target::host_buffer >
 specialisation of ConvertToVisionScope where the target is host_buffer More...
 
struct  visioncpp::internal::ConvertToVisionScope< cl::sycl::access::target::local >
 specialisation of ConvertToVisionScope where the target is local More...
 
struct  visioncpp::internal::ConvertToVisionScope< cl::sycl::access::target::constant_buffer >
 specialisation of ConvertToVisionScope where the target is constant_buffer More...
 
struct  visioncpp::internal::ConvertToVisionScope< cl::sycl::access::target::image >
 specialisation of ConvertToVisionScope where the target is image More...
 
struct  visioncpp::internal::SyclAccessor< LeafType, Dim, AccMd, ElementType, Scalar, scope >
 This struct is used to create a sycl accessor type based on access mode; dimension and memory type. More...
 
struct  visioncpp::internal::SyclAccessor< memory_type::Image, Dim, AccMd, ElementType, Scalar, scope >
 specialisation of the SyclAccessor when the memory_type is Image More...
 
struct  visioncpp::internal::SyclAccessor< memory_type::Const, Dim, AccMd, ElementType, Scalar, scope >
 specialisation of the SyclAccessor when the memory_type is constant variable More...
 
struct  visioncpp::internal::SyclMem< true, LeafType, Dim, ElementType >
 specialisation of SyclMem when there is host memory allocated. More...
 
struct  visioncpp::internal::SyclMem< false, LeafType, Dim, ElementType >
 specialisation of SyclMem when there is no host memory allocated. More...
 
struct  visioncpp::internal::SyclMem< true, memory_type::Image, Dim, ElementType >
 specialisation of SyclMem when the memory_type is Image More...
 
struct  visioncpp::internal::SyclMem< true, memory_type::Const, Dim, ElementType >
 specialisation of SyclMem when the memory_type is Constant variable More...
 
struct  visioncpp::internal::SyclMem< false, memory_type::Image, Dim, ElementType >
 specialisation of the SyclMem when the memory_type is Image and no device pointer is allocated to the memory. More...
 
struct  visioncpp::internal::MemDimension< LeafType >
 this is used to determine the dimension of the memory based on the memory type template parameters: More...
 
struct  visioncpp::internal::MemDimension< memory_type::Buffer1D >
 specialisation of the MemDimension when the memory type is Buffer1D More...
 
struct  visioncpp::internal::MemDimension< memory_type::Host >
 specialisation of the MemDimension when the memory type is Host More...
 
struct  visioncpp::internal::MemDimension< memory_type::Const >
 specialisation of the MemDimension when the memory type is constant variable More...
 
struct  visioncpp::internal::CreateSyclBuffer< LeafType, ElemType, Scalar, VisionMem, RNG >
 This class is used to instantiate the sycl memory based on the memory types. More...
 
struct  visioncpp::internal::CreateSyclBuffer< memory_type::Image, ElemType, Scalar, VisionMem, RNG >
 specialisation of create CreateSyclBuffer when the memory type is image More...
 
struct  visioncpp::internal::CreateSyclBuffer< memory_type::Const, ElemType, Scalar, VisionMem, RNG >
 specialisation of create CreateSyclBuffer when the memory type is constant variable More...
 
struct  visioncpp::internal::BufferUpdate< LeafType, Rows, Cols, ElemType, Scalar, VisionMem >
 This is used to update the Vision Memory with new value update sycl buffer at the moment we use ptr.reset() because it was faster than getting the host pointer and updating it in the host side. More...
 
struct  visioncpp::internal::BufferUpdate< memory_type::Image, Rows, Cols, ElemType, Scalar, VisionMem >
 specialisation of the BufferUpdate when the memory_type is Image More...
 
struct  visioncpp::internal::BufferUpdate< memory_type::Const, Rows, Cols, ElemType, Scalar, VisionMem >
 specialisation of the BufferUpdate when the memory_type is Constant variable More...
 

Namespaces

 visioncpp
 VisionCpp namespace.
 
 visioncpp::internal
 Internal implementations.
 
 visioncpp::internal::element_category
 two category of element exist : basic which is the primary types and struct which is user define types like F32C3, U8C3, ...
 

Functions

template<size_t Dim>
cl::sycl::range< Dim > visioncpp::internal::get_range (size_t r, size_t c)
 function get_range More...
 
template<size_t LeafType, typename ElemType , typename Scalar , typename VisionMem , typename RNG >
void visioncpp::internal::create_sycl_buffer (std::shared_ptr< VisionMem > &ptr, Scalar *dt, RNG rng)
 function create_sycl_buffer More...
 
template<size_t LeafType, typename ElemType , typename Scalar , typename VisionMem , typename RNG >
void visioncpp::internal::create_sycl_buffer (std::shared_ptr< VisionMem > &ptr, VisionMem dt, RNG rng)
 function create_sycl_buffer More...
 
template<size_t LeafType, typename ElemType , typename Scalar , typename VisionMem , typename RNG >
void visioncpp::internal::create_sycl_buffer (std::shared_ptr< VisionMem > &ptr, RNG rng)
 function create_sycl_buffer More...
 
template<size_t LeafType, size_t Rows, size_t Cols, typename ElemType , typename Scalar , typename VisionMem >
void visioncpp::internal::buffer_update (std::shared_ptr< VisionMem > &ptr, Scalar *dt)
 function buffer_update More...
 

Variables

constexpr size_t visioncpp::internal::element_category::Basic = 0
 
constexpr size_t visioncpp::internal::element_category::Struct = 1
 

Detailed Description

this file contains a set of forward declarations and include headers required for constructing and accessing memory on both host and device.

Definition in file memory.hpp.