ttg_parsec::Buffer< T, Allocator > Struct Template Reference
Documentation
template<typename T, typename Allocator>
struct ttg_parsec::Buffer< T, Allocator >
A buffer that is mirrored between host memory and different devices. The runtime is free to move data between device and host memory based on where the tasks are executing.
Note that a buffer is movable and should not be shared between two objects (e.g., through a pointer) in order for TTG to properly facilitate ownership tracking of the containing object.
Public Types | |
using | value_type = std::remove_all_extents_t< T > |
using | pointer_type = std::add_pointer_t< value_type > |
using | const_pointer_type = const std::remove_const_t< value_type > * |
using | element_type = std::decay_t< T > |
Friends | |
parsec_data_t * | detail::get_parsec_data (const ttg_parsec::Buffer< T, Allocator > &) |
Member Typedef Documentation
◆ const_pointer_type
template<typename T , typename Allocator >
using ttg_parsec::Buffer< T, Allocator >::const_pointer_type = const std::remove_const_t<value_type>* |
◆ element_type
template<typename T , typename Allocator >
using ttg_parsec::Buffer< T, Allocator >::element_type = std::decay_t<T> |
◆ pointer_type
template<typename T , typename Allocator >
using ttg_parsec::Buffer< T, Allocator >::pointer_type = std::add_pointer_t<value_type> |
◆ value_type
template<typename T , typename Allocator >
using ttg_parsec::Buffer< T, Allocator >::value_type = std::remove_all_extents_t<T> |
Constructor & Destructor Documentation
◆ Buffer() [1/6]
template<typename T , typename Allocator >
|
default |
◆ Buffer() [2/6]
template<typename T , typename Allocator >
|
inline |
◆ Buffer() [3/6]
template<typename T , typename Allocator >
|
inline |
◆ Buffer() [4/6]
template<typename T , typename Allocator >
template<typename Deleter >
|
inline |
◆ ~Buffer()
template<typename T , typename Allocator >
|
inlinevirtual |
◆ Buffer() [5/6]
template<typename T , typename Allocator >
|
inline |
◆ Buffer() [6/6]
template<typename T , typename Allocator >
|
delete |
Member Function Documentation
◆ add_device()
template<typename T , typename Allocator >
|
inline |
◆ allocate_on()
template<typename T , typename Allocator >
|
inline |
◆ current_device_ptr() [1/2]
template<typename T , typename Allocator >
|
inline |
◆ current_device_ptr() [2/2]
template<typename T , typename Allocator >
|
inline |
◆ device_ptr_on() [1/2]
template<typename T , typename Allocator >
|
inline |
◆ device_ptr_on() [2/2]
template<typename T , typename Allocator >
|
inline |
◆ empty()
template<typename T , typename Allocator >
|
inline |
◆ get_owner_device()
template<typename T , typename Allocator >
|
inline |
◆ host_ptr() [1/2]
template<typename T , typename Allocator >
|
inline |
◆ host_ptr() [2/2]
template<typename T , typename Allocator >
|
inline |
◆ is_current_on()
template<typename T , typename Allocator >
|
inline |
◆ is_valid()
template<typename T , typename Allocator >
|
inline |
◆ is_valid_on()
template<typename T , typename Allocator >
|
inline |
◆ operator bool()
template<typename T , typename Allocator >
|
inline |
◆ operator=() [1/2]
template<typename T , typename Allocator >
|
inline |
◆ operator=() [2/2]
template<typename T , typename Allocator >
|
delete |
◆ owner_device_ptr() [1/2]
template<typename T , typename Allocator >
|
inline |
◆ owner_device_ptr() [2/2]
template<typename T , typename Allocator >
|
inline |
◆ pin()
template<typename T , typename Allocator >
|
inline |
◆ pin_on()
template<typename T , typename Allocator >
|
inline |
◆ prefer_device()
template<typename T , typename Allocator >
|
inline |
◆ reset() [1/2]
template<typename T , typename Allocator >
|
inline |
◆ reset() [2/2]
template<typename T , typename Allocator >
|
inline |
◆ reset_scope()
template<typename T , typename Allocator >
|
inline |
◆ scope()
template<typename T , typename Allocator >
|
inline |
◆ set_current_device()
template<typename T , typename Allocator >
|
inline |
◆ size()
template<typename T , typename Allocator >
|
inline |
◆ unpin()
template<typename T , typename Allocator >
|
inline |
◆ unpin_on()
template<typename T , typename Allocator >
|
inline |
Friends And Related Function Documentation
◆ detail::get_parsec_data
template<typename T , typename Allocator >
|
friend |
The documentation for this struct was generated from the following file:
- ttg/ttg/parsec/buffer.h