|
| | Buffer ()=default |
| |
| | Buffer (std::size_t n, ttg::scope scope=ttg::scope::SyncIn) |
| |
| | Buffer (std::shared_ptr< value_type[]> ptr, std::size_t n, ttg::scope scope=ttg::scope::SyncIn) |
| |
| template<typename Deleter > |
| | Buffer (std::unique_ptr< value_type[], Deleter > ptr, std::size_t n, ttg::scope scope=ttg::scope::SyncIn) |
| |
| virtual | ~Buffer () |
| |
| | Buffer (Buffer &&db) |
| |
| | Buffer (const Buffer &db)=delete |
| |
| Buffer & | operator= (Buffer &&db) |
| |
| Buffer & | operator= (const Buffer &db)=delete |
| |
| void | set_owner_device (const ttg::device::Device &device) |
| |
| bool | is_current_on (ttg::device::Device dev) const |
| |
| ttg::device::Device | get_owner_device () const |
| |
| pointer_type | current_device_ptr () |
| |
| const_pointer_type | current_device_ptr () const |
| |
| pointer_type | owner_device_ptr () |
| |
| const_pointer_type | owner_device_ptr () const |
| |
| pointer_type | device_ptr_on (const ttg::device::Device &device) |
| |
| const_pointer_type | device_ptr_on (const ttg::device::Device &device) const |
| |
| pointer_type | host_ptr () |
| |
| const_pointer_type | host_ptr () const |
| |
| bool | is_valid_on (const ttg::device::Device &device) const |
| |
| void | allocate_on (const ttg::device::Device &device) |
| |
| void | pin () |
| |
| void | unpin () |
| |
| void | pin_on (int device_id) |
| |
| void | unpin_on (int device_id) |
| |
| bool | is_valid () const |
| |
| | operator bool () const |
| |
| std::size_t | size () const |
| |
| bool | empty () const |
| |
| void | reset (std::size_t n, ttg::scope scope=ttg::scope::SyncIn) |
| |
| void | reset (std::shared_ptr< value_type[]> ptr, std::size_t n, ttg::scope scope=ttg::scope::SyncIn) |
| |
| void | clear () |
| |
| void | reset_scope (ttg::scope scope) |
| |
| ttg::scope | scope () const |
| |
| void | prefer_device (ttg::device::Device dev) |
| |
| void | add_device (ttg::device::Device dev, pointer_type ptr, bool is_current=false) |
| |
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.
Definition at line 247 of file buffer.h.