|
ttg 1.0.0-alpha
Template Task Graph (TTG): flowgraph-based programming model for high-performance distributed-memory algorithms
|
A base class for all template tasks. More...
#include <tt.h>
Public Member Functions | |
| virtual | ~TTBase ()=default |
| virtual void | invoke () |
| bool | set_trace_instance (bool value) |
| bool | tracing () const |
| template<typename T , typename... Ts> | |
| void | trace (const T &t, const Ts &...ts) |
Like ttg::trace(), but only produces tracing output if this->tracing()==true | |
| bool | set_lazy_pull_instance (bool value) |
| bool | is_lazy_pull () |
| std::optional< std::reference_wrapper< const TTBase > > | ttg () const |
| const TTBase * | ttg_ptr () const |
| bool | is_ttg () const |
| void | set_name (const std::string &name) |
| Sets the name of this operation. | |
| const std::string & | get_name () const |
| Gets the name of this operation. | |
| std::string | get_class_name () const |
| Gets the demangled class name (uses RTTI) | |
| const std::vector< TerminalBase * > & | get_inputs () const |
| Returns the vector of input terminals. | |
| const std::vector< TerminalBase * > & | get_outputs () const |
| Returns the vector of output terminals. | |
| virtual ttg::World | get_world () const =0 |
| ttg::TerminalBase * | in (size_t i) |
| Returns a pointer to the i'th input terminal. | |
| ttg::TerminalBase * | out (size_t i) |
| Returns a pointer to the i'th output terminal. | |
| template<std::size_t i> | |
| ttg::TerminalBase * | in () |
| Returns a pointer to the i'th input terminal ... to make API consistent with TT. | |
| template<std::size_t i> | |
| ttg::TerminalBase * | out () |
| Returns a pointer to the i'th output terminal ... to make API consistent with TT. | |
| auto | get_instance_id () const |
| virtual void | fence ()=0 |
| virtual void | release () |
| virtual void | make_executable ()=0 |
| Marks this executable. | |
| bool | is_executable () const |
Static Public Member Functions | |
| static bool | set_trace_all (bool value) |
| static bool | set_lazy_pull (bool value) |
| static const std::vector< TerminalBase * > * | get_outputs_tls_ptr () |
| Returns this thread's pointer to the vector of output terminals. | |
Protected Member Functions | |
| void | set_input (size_t i, TerminalBase *t) |
| void | set_output (size_t i, TerminalBase *t) |
| template<bool out, typename terminalT , std::size_t i, typename setfuncT > | |
| void | register_terminal (terminalT &term, const std::string &name, const setfuncT setfunc) |
| template<bool out, std::size_t... IS, typename terminalsT , typename namesT , typename setfuncT > | |
| void | register_terminals (std::index_sequence< IS... >, terminalsT &terms, const namesT &names, const setfuncT setfunc) |
| template<typename terminalsT , typename namesT > | |
| void | register_input_terminals (terminalsT &terms, const namesT &names) |
| template<typename terminalsT , typename namesT > | |
| void | register_output_terminals (terminalsT &terms, const namesT &names) |
| template<std::size_t... IS, typename terminalsT , typename setfuncT > | |
| void | set_terminals (std::index_sequence< IS... >, terminalsT &terms, const setfuncT setfunc) |
| template<typename terminalsT , typename setfuncT > | |
| void | set_terminals (const terminalsT &terms, const setfuncT setfunc) |
| TTBase (TTBase &&other) | |
| TTBase & | operator= (TTBase &&other) |
| TTBase (const std::string &name, size_t numins, size_t numouts) | |
| void | set_outputs_tls_ptr () |
| void | set_outputs_tls_ptr (const std::vector< TerminalBase * > *ptr) |
Static Protected Member Functions | |
| static const std::vector< TerminalBase * > *& | outputs_tls_ptr_accessor () |
Friends | |
| template<typename input_terminalsT , typename output_terminalsT > | |
| class | TTG |
|
inlineprotected |
|
inlineprotected |
|
virtualdefault |
|
pure virtual |
Waits for the entire TTG that contains this object to be completed (collective); if not contained by a TTG this is a no-op
Implemented in ttg_madness::TT< keyT, output_terminalsT, derivedT, input_valueTs, Space >, ttg::TTG< input_terminalsT, output_terminalsT >, and ttg::SinkTT< keyT, input_valueT >.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
pure virtual |
Implemented in ttg_madness::TT< keyT, output_terminalsT, derivedT, input_valueTs, Space >, ttg_parsec::TT< int, std::tuple< Out< int, Value >, Out< int, Value >, Out< int, Value > >, BinaryTreeBroadcast< Value, int >, ttg::typelist< Value > >, ttg_parsec::TT< int, std::tuple< Out< int, Value >, Out< int, Value >, Out< int, Value >, Out< OutKey, Value > >, BinaryTreeReduce< Value, BinaryOp, OutKey >, ttg::typelist< Value, Value, Value > >, ttg_parsec::TT< keyT, output_terminalsT, derivedT, input_valueTs, Space >, ttg::TTG< input_terminalsT, output_terminalsT >, and ttg::SinkTT< keyT, input_valueT >.
|
inline |
|
inline |
|
inlinevirtual |
Use this to create a task that takes no data "manually"
Reimplemented in ttg_madness::TT< keyT, output_terminalsT, derivedT, input_valueTs, Space >, ttg_parsec::TT< int, std::tuple< Out< int, Value >, Out< int, Value >, Out< int, Value > >, BinaryTreeBroadcast< Value, int >, ttg::typelist< Value > >, ttg_parsec::TT< int, std::tuple< Out< int, Value >, Out< int, Value >, Out< int, Value >, Out< OutKey, Value > >, BinaryTreeReduce< Value, BinaryOp, OutKey >, ttg::typelist< Value, Value, Value > >, ttg_parsec::TT< keyT, output_terminalsT, derivedT, input_valueTs, Space >, ttg_madness::TT< keyT, output_terminalsT, derivedT, input_valueTs, Space >, ttg_parsec::TT< int, std::tuple< Out< int, Value >, Out< int, Value >, Out< int, Value > >, BinaryTreeBroadcast< Value, int >, ttg::typelist< Value > >, ttg_parsec::TT< int, std::tuple< Out< int, Value >, Out< int, Value >, Out< int, Value >, Out< OutKey, Value > >, BinaryTreeReduce< Value, BinaryOp, OutKey >, ttg::typelist< Value, Value, Value > >, and ttg_parsec::TT< keyT, output_terminalsT, derivedT, input_valueTs, Space >.
Definition at line 150 of file tt.h.
|
inline |
|
inline |
|
inline |
|
inlinepure virtual |
Marks this executable.
Implemented in ttg_madness::TT< keyT, output_terminalsT, derivedT, input_valueTs, Space >, ttg_parsec::TT< int, std::tuple< Out< int, Value >, Out< int, Value >, Out< int, Value > >, BinaryTreeBroadcast< Value, int >, ttg::typelist< Value > >, ttg_parsec::TT< int, std::tuple< Out< int, Value >, Out< int, Value >, Out< int, Value >, Out< OutKey, Value > >, BinaryTreeReduce< Value, BinaryOp, OutKey >, ttg::typelist< Value, Value, Value > >, ttg_parsec::TT< keyT, output_terminalsT, derivedT, input_valueTs, Space >, ttg::TTG< input_terminalsT, output_terminalsT >, and ttg::SinkTT< keyT, input_valueT >.
Definition at line 287 of file tt.h.
|
inline |
|
inline |
|
inlinestaticprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlinevirtual |
Reimplemented in ttg_parsec::TT< int, std::tuple< Out< int, Value >, Out< int, Value >, Out< int, Value > >, BinaryTreeBroadcast< Value, int >, ttg::typelist< Value > >, ttg_parsec::TT< int, std::tuple< Out< int, Value >, Out< int, Value >, Out< int, Value >, Out< OutKey, Value > >, BinaryTreeReduce< Value, BinaryOp, OutKey >, ttg::typelist< Value, Value, Value > >, and ttg_parsec::TT< keyT, output_terminalsT, derivedT, input_valueTs, Space >.
|
inlineprotected |
|
inlinestatic |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlinestatic |
Sets trace for all operations to value and returns previous setting. This has no effect unless trace_enabled()==true
Definition at line 157 of file tt.h.
|
inline |
Sets trace for just this instance to value and returns previous setting This has no effect unless trace_enabled()==true
Definition at line 172 of file tt.h.
|
inline |
Like ttg::trace(), but only produces tracing output if this->tracing()==true
Definition at line 187 of file tt.h.
|
inline |
trace_enabled()==false, else true if tracing set for either this instance or all instances Definition at line 178 of file tt.h.
|
inline |
|
inline |
|
friend |
1.9.8