ttg_madness Namespace Reference

this contains MADNESS-based TTG functionality More...

Namespaces

 detail
 

Classes

struct  Buffer
 A runtime-managed buffer mirrored between host and device memory. More...
 
class  TT
 
struct  Ptr
 
struct  devicescratch
 
struct  TTValue
 
class  WorldImpl
 

Typedefs

template<typename keyT , typename output_terminalsT , typename derivedT , typename... input_valueTs>
using Op = TT< keyT, output_terminalsT, derivedT, ttg::typelist< input_valueTs... > >
 
template<typename keyT , typename output_terminalsT , typename derivedT , typename... input_valueTs>
using TemplateTask = TT< keyT, output_terminalsT, derivedT, ttg::typelist< input_valueTs... > >
 

Functions

int num_devices ()
 
void make_executable_hook (ttg::World &)
 
void ttg_initialize (int argc, char **argv, int num_threads=-1)
 
void ttg_finalize ()
 
void ttg_abort ()
 
ttg::World ttg_default_execution_context ()
 
void ttg_execute (ttg::World world)
 
void ttg_fence (ttg::World world)
 
template<typename T >
void ttg_register_ptr (ttg::World world, const std::shared_ptr< T > &ptr)
 
void ttg_register_status (ttg::World world, const std::shared_ptr< std::promise< void >> &status_ptr)
 
ttg::Edgettg_ctl_edge (ttg::World world)
 
template<typename T >
void ttg_sum (ttg::World world, T &value)
 
template<typename T >
void ttg_broadcast (ttg::World world, T &data, int source_rank)
 
template<typename T , typename... Args>
Ptr< T > make_ptr (Args &&... args)
 
template<typename T >
auto get_ptr (T &&obj)
 
template<typename... Views>
bool register_device_memory (std::tuple< Views &... > &views)
 
template<typename... Buffer>
void post_device_out (std::tuple< Buffer &... > &b)
 
template<typename... Buffer>
void mark_device_out (std::tuple< Buffer &... > &b)
 
template<typename T >
void ttg_register_ptr (ttg::World world, std::unique_ptr< T > &&ptr)
 
template<typename Callback >
void ttg_register_callback (ttg::World world, Callback &&callback)
 
void initialize_watchpoints ()
 must be called from main thread before setting watchpoints More...
 
template<typename T >
void watchpoint_set (T *addr, ttg::detail::MemoryWatchpoint_x86_64::Size size, ttg::detail::MemoryWatchpoint_x86_64::Condition cond)
 sets a hardware watchpoint for window [addr,addr+size) and condition cond More...
 
template<typename T >
void watchpoint_clear (T *addr)
 clears the hardware watchpoint for window [addr,addr+size) previously created with watchpoint_set<T> More...
 

Typedef Documentation

◆ Op

template<typename keyT , typename output_terminalsT , typename derivedT , typename... input_valueTs>
using ttg_madness::Op = typedef TT<keyT, output_terminalsT, derivedT, ttg::typelist<input_valueTs...> >

Definition at line 16 of file fwd.h.

◆ TemplateTask

template<typename keyT , typename output_terminalsT , typename derivedT , typename... input_valueTs>
using ttg_madness::TemplateTask = typedef TT<keyT, output_terminalsT, derivedT, ttg::typelist<input_valueTs...> >

Definition at line 19 of file fwd.h.

Function Documentation

◆ get_ptr()

template<typename T >
auto ttg_madness::get_ptr ( T &&  obj)

◆ initialize_watchpoints()

void ttg_madness::initialize_watchpoints ( )
inline

must be called from main thread before setting watchpoints

Definition at line 52 of file watch.h.

◆ make_executable_hook()

void ttg_madness::make_executable_hook ( ttg::World world)
inline

Definition at line 121 of file ttg.h.

◆ make_ptr()

template<typename T , typename... Args>
Ptr<T> ttg_madness::make_ptr ( Args &&...  args)

◆ mark_device_out()

template<typename... Buffer>
void ttg_madness::mark_device_out ( std::tuple< Buffer &... > &  b)
inline

◆ num_devices()

int ttg_madness::num_devices ( )
inline

Definition at line 6 of file device.h.

◆ post_device_out()

template<typename... Buffer>
void ttg_madness::post_device_out ( std::tuple< Buffer &... > &  b)
inline

◆ register_device_memory()

template<typename... Views>
bool ttg_madness::register_device_memory ( std::tuple< Views &... > &  views)
inline

◆ ttg_abort()

void ttg_madness::ttg_abort ( )
inline

Definition at line 137 of file ttg.h.

◆ ttg_broadcast()

template<typename T >
void ttg_madness::ttg_broadcast ( ttg::World  world,
T &  data,
int  source_rank 
)
inline

broadcast

Template Parameters
Ta serializable type

Definition at line 174 of file ttg.h.

◆ ttg_ctl_edge()

ttg::Edge & ttg_madness::ttg_ctl_edge ( ttg::World  world)
inline

Definition at line 165 of file ttg.h.

◆ ttg_default_execution_context()

ttg::World ttg_madness::ttg_default_execution_context ( )
inline
Examples
distributed.cc.

Definition at line 136 of file ttg.h.

◆ ttg_execute()

void ttg_madness::ttg_execute ( ttg::World  world)
inline

Definition at line 141 of file ttg.h.

◆ ttg_fence()

void ttg_madness::ttg_fence ( ttg::World  world)
inline

Definition at line 144 of file ttg.h.

◆ ttg_finalize()

void ttg_madness::ttg_finalize ( )
inline

Definition at line 131 of file ttg.h.

◆ ttg_initialize()

void ttg_madness::ttg_initialize ( int  argc,
char **  argv,
int  num_threads = -1 
)
inline

Definition at line 123 of file ttg.h.

◆ ttg_register_callback()

template<typename Callback >
void ttg_madness::ttg_register_callback ( ttg::World  world,
Callback &&  callback 
)
inline

Definition at line 161 of file ttg.h.

◆ ttg_register_ptr() [1/2]

template<typename T >
void ttg_madness::ttg_register_ptr ( ttg::World  world,
const std::shared_ptr< T > &  ptr 
)
inline

Definition at line 147 of file ttg.h.

◆ ttg_register_ptr() [2/2]

template<typename T >
void ttg_madness::ttg_register_ptr ( ttg::World  world,
std::unique_ptr< T > &&  ptr 
)
inline

Definition at line 152 of file ttg.h.

◆ ttg_register_status()

void ttg_madness::ttg_register_status ( ttg::World  world,
const std::shared_ptr< std::promise< void >> &  status_ptr 
)
inline

Definition at line 156 of file ttg.h.

◆ ttg_sum()

template<typename T >
void ttg_madness::ttg_sum ( ttg::World  world,
T &  value 
)
inline

Definition at line 168 of file ttg.h.

◆ watchpoint_clear()

template<typename T >
void ttg_madness::watchpoint_clear ( T *  addr)
inline

clears the hardware watchpoint for window [addr,addr+size) previously created with watchpoint_set<T>

Definition at line 73 of file watch.h.

◆ watchpoint_set()

template<typename T >
void ttg_madness::watchpoint_set ( T *  addr,
ttg::detail::MemoryWatchpoint_x86_64::Size  size,
ttg::detail::MemoryWatchpoint_x86_64::Condition  cond 
)
inline

sets a hardware watchpoint for window [addr,addr+size) and condition cond

Definition at line 65 of file watch.h.