|
|
| BasicTaskflow () |
| | constructs the taskflow with std::thread::hardware_concurrency worker threads
|
| |
|
| BasicTaskflow (unsigned N) |
| | constructs the taskflow with N worker threads
|
| |
|
| BasicTaskflow (std::shared_ptr< Executor > executor) |
| | constructs the taskflow with a given executor
|
| |
| | ~BasicTaskflow () |
| | destructs the taskflow More...
|
| |
| std::shared_ptr< Executor > | share_executor () |
| | shares ownership of the executor associated with this taskflow object More...
|
| |
| std::shared_future< void > | dispatch () |
| | dispatches the present graph to threads and returns immediately More...
|
| |
| template<typename C > |
| std::shared_future< void > | dispatch (C &&) |
| | dispatches the present graph to threads and run a callback when the graph completes More...
|
| |
|
void | silent_dispatch () |
| | dispatches the present graph to threads and returns immediately
|
| |
| template<typename C > |
| void | silent_dispatch (C &&callable) |
| | dispatches the present graph to threads and run a callback when the graph completes More...
|
| |
|
void | wait_for_all () |
| | dispatches the present graph to threads and wait for all topologies to complete
|
| |
|
void | wait_for_topologies () |
| | blocks until all running topologies complete and then cleans up all associated storages
|
| |
| void | dump (std::ostream &ostream) const |
| | dumps the present task dependency graph to a std::ostream in DOT format More...
|
| |
| void | dump_topologies (std::ostream &ostream) const |
| | dumps the present topologies to a std::ostream in DOT format More...
|
| |
|
size_t | num_nodes () const |
| | queries the number of nodes in the present task dependency graph
|
| |
|
size_t | num_workers () const |
| | queries the number of worker threads in the associated executor
|
| |
|
size_t | num_topologies () const |
| | queries the number of existing topologies
|
| |
|
std::string | dump () const |
| | dumps the present task dependency graph in DOT format to a std::string
|
| |
|
std::string | dump_topologies () const |
| | dumps the existing topologies in DOT format to a std::string
|
| |
|
| FlowBuilder (Graph &) |
| |
| template<typename C > |
| auto | emplace (C &&callable) |
| | creates a task from a given callable object More...
|
| |
| template<typename... C, std::enable_if_t<(sizeof...(C)> 1> |
| auto | emplace (C &&... callables) |
| | creates multiple tasks from a list of callable objects at one time More...
|
| |
| template<typename C > |
| auto | silent_emplace (C &&callable) |
| | creates a task from a given callable object without access to the result More...
|
| |
| template<typename... C, std::enable_if_t<(sizeof...(C)> 1> |
| auto | silent_emplace (C &&... callables) |
| | creates multiple tasks from a list of callable objects without access to the results More...
|
| |
| template<typename I , typename C > |
| std::pair< Task, Task > | parallel_for (I beg, I end, C &&callable, size_t chunk=0) |
| | constructs a task dependency graph of range-based parallel_for More...
|
| |
| template<typename I , typename C , std::enable_if_t< std::is_arithmetic_v< I >, void > * = nullptr> |
| std::pair< Task, Task > | parallel_for (I beg, I end, I step, C &&callable, size_t chunk=0) |
| | constructs a task dependency graph of index-based parallel_for More...
|
| |
| template<typename I , typename T , typename B > |
| std::pair< Task, Task > | reduce (I beg, I end, T &result, B &&bop) |
| | construct a task dependency graph of parallel reduction More...
|
| |
| template<typename I , typename T > |
| std::pair< Task, Task > | reduce_min (I beg, I end, T &result) |
| | constructs a task dependency graph of parallel reduction through std::min More...
|
| |
| template<typename I , typename T > |
| std::pair< Task, Task > | reduce_max (I beg, I end, T &result) |
| | constructs a task dependency graph of parallel reduction through std::max More...
|
| |
| template<typename I , typename T , typename B , typename U > |
| std::pair< Task, Task > | transform_reduce (I beg, I end, T &result, B &&bop, U &&uop) |
| | constructs a task dependency graph of parallel transformation and reduction More...
|
| |
| template<typename I , typename T , typename B , typename P , typename U > |
| std::pair< Task, Task > | transform_reduce (I beg, I end, T &result, B &&bop1, P &&bop2, U &&uop) |
| | constructs a task dependency graph of parallel transformation and reduction More...
|
| |
| Task | placeholder () |
| | creates an empty task More...
|
| |
| void | precede (Task A, Task B) |
| | adds a dependency link from task A to task B More...
|
| |
| void | linearize (std::vector< Task > &tasks) |
| | adds adjacent dependency links to a linear list of tasks More...
|
| |
| void | linearize (std::initializer_list< Task > tasks) |
| | adds adjacent dependency links to a linear list of tasks More...
|
| |
| void | broadcast (Task A, std::vector< Task > &others) |
| | adds dependency links from one task A to many tasks More...
|
| |
| void | broadcast (Task A, std::initializer_list< Task > others) |
| | adds dependency links from one task A to many tasks More...
|
| |
| void | gather (std::vector< Task > &others, Task A) |
| | adds dependency links from many tasks to one task A More...
|
| |
| void | gather (std::initializer_list< Task > others, Task A) |
| | adds dependency links from many tasks to one task A More...
|
| |
template<template< typename... > typename E>
class tf::BasicTaskflow< E >
The base class to derive a taskflow class.
- Template Parameters
-
| E | executor type to use in this taskflow |
This class is the base class to derive a taskflow class. It inherits all public methods to create tasks from tf::FlowBuilder and defines means to execute task dependency graphs.