|
| | TaskFn (const futureT &result, functionT func, const TaskAttributes &attr) |
| |
| template<typename a1T > |
| | TaskFn (const futureT &result, functionT func, const a1T &a1, const TaskAttributes &attr) |
| |
| template<typename a1T , typename a2T > |
| | TaskFn (const futureT &result, functionT func, const a1T &a1, const a2T &a2, const TaskAttributes &attr=TaskAttributes()) |
| |
| template<typename a1T , typename a2T , typename a3T > |
| | TaskFn (const futureT &result, functionT func, const a1T &a1, const a2T &a2, const a3T &a3, const TaskAttributes &attr) |
| |
| template<typename a1T , typename a2T , typename a3T , typename a4T > |
| | TaskFn (const futureT &result, functionT func, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const TaskAttributes &attr) |
| |
| template<typename a1T , typename a2T , typename a3T , typename a4T , typename a5T > |
| | TaskFn (const futureT &result, functionT func, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const TaskAttributes &attr) |
| |
| template<typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T > |
| | TaskFn (const futureT &result, functionT func, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const TaskAttributes &attr) |
| |
| template<typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T > |
| | TaskFn (const futureT &result, functionT func, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const TaskAttributes &attr) |
| |
| template<typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T > |
| | TaskFn (const futureT &result, functionT func, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const TaskAttributes &attr) |
| |
| template<typename a1T , typename a2T , typename a3T , typename a4T , typename a5T , typename a6T , typename a7T , typename a8T , typename a9T > |
| | TaskFn (const futureT &result, functionT func, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9, const TaskAttributes &attr) |
| |
| | TaskFn (const futureT &result, functionT func, const TaskAttributes &attr, archive::BufferInputArchive &input_arch) |
| |
| virtual | ~TaskFn () |
| |
| const futureT & | result () const |
| |
| | TaskInterface (int ndepend=0, const TaskAttributes attr=TaskAttributes()) |
| | Create a new task with ndepend dependencies (default 0) and given attributes. More...
|
| |
| | TaskInterface (const TaskAttributes &attr) |
| | Create a new task with zero dependencies and given attributes. More...
|
| |
| virtual void | run (World &) |
| | Runs a single-threaded task ... derived classes must implement this. More...
|
| |
| virtual void | run (World &world, const TaskThreadEnv &env) |
| | Runs a multi-threaded task. More...
|
| |
| World * | get_world () const |
| |
| virtual | ~TaskInterface () |
| |
| | PoolTaskInterface () |
| |
| | PoolTaskInterface (const TaskAttributes &attr) |
| |
| void | set_nthread (int nthread) |
| | Call this to reset the number of threads before the task is submitted. More...
|
| |
| virtual | ~PoolTaskInterface () |
| |
| | TaskAttributes (unsigned long flags=0) |
| |
| | TaskAttributes (const TaskAttributes &attr) |
| |
| virtual | ~TaskAttributes () |
| |
| bool | is_generator () const |
| |
| bool | is_stealable () const |
| |
| bool | is_high_priority () const |
| |
| void | set_generator (bool generator_hint) |
| |
| void | set_stealable (bool stealable) |
| |
| void | set_highpriority (bool hipri) |
| |
| void | set_nthread (int nthread) |
| | Are you sure this is what you want to call? More...
|
| |
| int | get_nthread () const |
| |
| template<typename Archive > |
| void | serialize (Archive &ar) |
| |
| | DependencyInterface (int ndep=0) |
| |
| int | ndep () const |
| | Returns the number of unsatisfied dependencies. More...
|
| |
| bool | probe () const |
| | Returns true if ndepend == 0. More...
|
| |
| void | notify () |
| | Invoked by callbacks to notifiy of dependencies being satisfied. More...
|
| |
| void | register_callback (CallbackInterface *callback) |
| | Registers a callback for when ndepend==0 , immediately invoked if ndepend==0. More...
|
| |
| void | inc () |
| | Increment the number of dependencies. More...
|
| |
| void | dec () |
| | Decrement the number of dependencies and invoke callback if ndepend=0. More...
|
| |
| virtual | ~DependencyInterface () |
| |
| virtual | ~CallbackInterface () |
| |
template<typename fnT, typename arg1T = void, typename arg2T = void, typename arg3T = void, typename arg4T = void, typename arg5T = void, typename arg6T = void, typename arg7T = void, typename arg8T = void, typename arg9T = void>
struct madness::TaskFn< fnT, arg1T, arg2T, arg3T, arg4T, arg5T, arg6T, arg7T, arg8T, arg9T >
Wrap a callable object and its arguments into a task function.
The callable object may have up to 10 arguments
template<typename fnT, typename arg1T = void, typename arg2T = void, typename arg3T = void, typename arg4T = void, typename arg5T = void, typename arg6T = void, typename arg7T = void, typename arg8T = void, typename arg9T = void>
Override this method to implement a multi-threaded task.
info.nthread() will be the number of threads collaborating on this task
info.id() will be the index of the current thread id=0,...,nthread-1
info.barrier() will be a barrier for all of the threads, and returns true for the last thread to enter the barrier (other threads get false)
Reimplemented from madness::TaskInterface.
References madness::detail::run_function().