ttg_parsec::devicescratch< T > Struct Template Reference

Documentation

template<typename T>
struct ttg_parsec::devicescratch< T >

Scratch-space for task-local variables. TTG will allocate memory on the device and transfer data in and out based on the scope.

Definition at line 29 of file devicescratch.h.

Public Types

using element_type = std::decay_t< T >
 

Public Member Functions

 devicescratch (element_type *ptr, ttg::scope scope=ttg::scope::SyncIn, std::size_t count=1)
 
 devicescratch (devicescratch &&)=delete
 
 devicescratch (const devicescratch &db)=delete
 
devicescratchoperator= (devicescratch &&)=delete
 
devicescratchoperator= (const devicescratch &db)=delete
 
 ~devicescratch ()
 
element_typedevice_ptr ()
 
const element_typedevice_ptr () const
 
bool is_valid () const
 
ttg::scope scope () const
 
std::size_t size () const
 

Friends

parsec_data_t * detail::get_parsec_data (const ttg_parsec::devicescratch< T > &)
 

Member Typedef Documentation

◆ element_type

template<typename T >
using ttg_parsec::devicescratch< T >::element_type = std::decay_t<T>

Definition at line 31 of file devicescratch.h.

Constructor & Destructor Documentation

◆ devicescratch() [1/3]

template<typename T >
ttg_parsec::devicescratch< T >::devicescratch ( element_type ptr,
ttg::scope  scope = ttg::scope::SyncIn,
std::size_t  count = 1 
)
inline

Definition at line 73 of file devicescratch.h.

◆ devicescratch() [2/3]

template<typename T >
ttg_parsec::devicescratch< T >::devicescratch ( devicescratch< T > &&  )
delete

◆ devicescratch() [3/3]

template<typename T >
ttg_parsec::devicescratch< T >::devicescratch ( const devicescratch< T > &  db)
delete

◆ ~devicescratch()

template<typename T >
ttg_parsec::devicescratch< T >::~devicescratch ( )
inline

Definition at line 95 of file devicescratch.h.

Member Function Documentation

◆ device_ptr() [1/2]

template<typename T >
element_type* ttg_parsec::devicescratch< T >::device_ptr ( )
inline

Definition at line 109 of file devicescratch.h.

◆ device_ptr() [2/2]

template<typename T >
const element_type* ttg_parsec::devicescratch< T >::device_ptr ( ) const
inline

Definition at line 115 of file devicescratch.h.

◆ is_valid()

template<typename T >
bool ttg_parsec::devicescratch< T >::is_valid ( void  ) const
inline

Definition at line 120 of file devicescratch.h.

◆ operator=() [1/2]

template<typename T >
devicescratch& ttg_parsec::devicescratch< T >::operator= ( const devicescratch< T > &  db)
delete

◆ operator=() [2/2]

template<typename T >
devicescratch& ttg_parsec::devicescratch< T >::operator= ( devicescratch< T > &&  )
delete

◆ scope()

template<typename T >
ttg::scope ttg_parsec::devicescratch< T >::scope ( ) const
inline

Definition at line 126 of file devicescratch.h.

◆ size()

template<typename T >
std::size_t ttg_parsec::devicescratch< T >::size ( ) const
inline

Definition at line 130 of file devicescratch.h.

Friends And Related Function Documentation

◆ detail::get_parsec_data

template<typename T >
parsec_data_t* detail::get_parsec_data ( const ttg_parsec::devicescratch< T > &  )
friend

The documentation for this struct was generated from the following file: