ttg_parsec Namespace Reference

this contains PaRSEC-based TTG functionality More...

Namespaces

 detail
 

Classes

struct  Buffer
 
struct  devicescratch
 
class  TT
 
struct  Ptr
 
struct  TTValue
 
struct  ptr
 
struct  msg_header_t
 
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... > >
 
typedef void(* static_set_arg_fct_type) (void *, size_t, ttg::TTBase *)
 
typedef std::pair< static_set_arg_fct_type, ttg::TTBase * > static_set_arg_fct_call_t
 
typedef std::tuple< int, void *, size_t > static_set_arg_fct_arg_t
 

Functions

int num_devices ()
 
template<typename... Views>
bool register_device_memory (std::tuple< Views &... > &views)
 
template<typename... Buffer>
void mark_device_out (std::tuple< Buffer &... > &b)
 
template<typename... Buffer>
void post_device_out (std::tuple< Buffer &... > &b)
 
void make_executable_hook (ttg::World &)
 
void ttg_initialize (int argc, char **argv, int num_threads=-1, parsec_context_s *=nullptr)
 
void ttg_finalize ()
 
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)
 
template<typename Callback >
void ttg_register_callback (ttg::World world, Callback &&callback)
 
ttg::Edgettg_ctl_edge (ttg::World world)
 
void ttg_sum (ttg::World world, double &value)
 
template<typename T , typename... Args>
Ptr< T > make_ptr (Args &&... args)
 
template<typename T >
Ptr< std::decay_t< T > > get_ptr (T &&obj)
 
void ttg_initialize (int argc, char **argv, int num_threads, parsec_context_t *ctx)
 
template<typename T >
void ttg_register_ptr (ttg::World world, std::unique_ptr< T > &&ptr)
 
template<typename T >
void ttg_broadcast (::ttg::World world, T &data, int source_rank)
 
template<typename ValueT >
auto persistent (ValueT &&value)
 

Variables

std::map< uint64_t, static_set_arg_fct_call_tstatic_id_to_op_map
 
std::mutex static_map_mutex
 
std::multimap< uint64_t, static_set_arg_fct_arg_tdelayed_unpack_actions
 

Typedef Documentation

◆ Op

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

Definition at line 18 of file fwd.h.

◆ static_set_arg_fct_arg_t

typedef std::tuple<int, void *, size_t> ttg_parsec::static_set_arg_fct_arg_t

Definition at line 140 of file ttg.h.

◆ static_set_arg_fct_call_t

Definition at line 137 of file ttg.h.

◆ static_set_arg_fct_type

typedef void(* ttg_parsec::static_set_arg_fct_type) (void *, size_t, ttg::TTBase *)

Definition at line 136 of file ttg.h.

◆ TemplateTask

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

Definition at line 21 of file fwd.h.

Function Documentation

◆ get_ptr()

template<typename T >
Ptr< std::decay_t< T > > ttg_parsec::get_ptr ( T &&  obj)
inline

Definition at line 252 of file ptr.h.

◆ make_executable_hook()

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

Definition at line 1146 of file ttg.h.

◆ make_ptr()

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

Definition at line 270 of file ptr.h.

◆ mark_device_out()

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

Definition at line 144 of file devicefunc.h.

◆ num_devices()

int ttg_parsec::num_devices ( )
inline

Definition at line 41 of file device.h.

◆ persistent()

template<typename ValueT >
auto ttg_parsec::persistent ( ValueT &&  value)
inline

Definition at line 93 of file ttvalue.h.

◆ post_device_out()

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

Definition at line 180 of file devicefunc.h.

◆ register_device_memory()

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

Definition at line 91 of file devicefunc.h.

◆ ttg_broadcast()

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

broadcast

Template Parameters
Ta serializable type

Definition at line 1153 of file ttg.h.

◆ ttg_ctl_edge()

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

Definition at line 1138 of file ttg.h.

◆ ttg_default_execution_context()

ttg::World ttg_parsec::ttg_default_execution_context ( )
inline

Definition at line 1113 of file ttg.h.

◆ ttg_execute()

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

Definition at line 1116 of file ttg.h.

◆ ttg_fence()

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

Definition at line 1117 of file ttg.h.

◆ ttg_finalize()

void ttg_parsec::ttg_finalize ( )
inline

Definition at line 1103 of file ttg.h.

◆ ttg_initialize() [1/2]

void ttg_parsec::ttg_initialize ( int  argc,
char **  argv,
int  num_threads,
parsec_context_t *  ctx 
)
inline

Definition at line 1047 of file ttg.h.

◆ ttg_initialize() [2/2]

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

◆ ttg_register_callback()

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

Definition at line 1134 of file ttg.h.

◆ ttg_register_ptr() [1/2]

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

Definition at line 1120 of file ttg.h.

◆ ttg_register_ptr() [2/2]

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

Definition at line 1125 of file ttg.h.

◆ ttg_register_status()

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

Definition at line 1129 of file ttg.h.

◆ ttg_sum()

void ttg_parsec::ttg_sum ( ttg::World  world,
double &  value 
)
inline

Definition at line 1140 of file ttg.h.

Variable Documentation

◆ delayed_unpack_actions

std::multimap<uint64_t, static_set_arg_fct_arg_t> ttg_parsec::delayed_unpack_actions
inline

Definition at line 141 of file ttg.h.

◆ static_id_to_op_map

std::map<uint64_t, static_set_arg_fct_call_t> ttg_parsec::static_id_to_op_map
inline

Definition at line 138 of file ttg.h.

◆ static_map_mutex

std::mutex ttg_parsec::static_map_mutex
inline

Definition at line 139 of file ttg.h.