|
| 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().