16 template <
typename T,
typename SchedLoopCallback,
typename Fn,
typename... Args>
18 return invoke_fn<T>(std::forward<Fn>(fn), std::make_tuple(std::forward<Args>(
args)...));
21 template <
typename T,
typename OnDriftForkCallback,
typename OnDriftDieCallback,
22 typename WorkHint,
typename Fn,
typename... Args>
24 OnDriftForkCallback, OnDriftDieCallback,
25 WorkHint, WorkHint, Fn&& fn, Args&&...
args) {
26 th = invoke_fn<T>(std::forward<Fn>(fn), std::make_tuple(std::forward<Args>(
args)...));
34 template <
typename SchedLoopCallback>
37 template <
typename PreSuspendCallback,
typename PostSuspendCallback>
38 void poll(PreSuspendCallback&&, PostSuspendCallback&&) {}
40 template <
typename PreSuspendCallback,
typename PostSuspendCallback>
43 template <
typename Fn>
59 template <
typename PreSuspendCallback,
typename PostSuspendCallback>
scheduler_serial()
Definition: serial.hpp:14
T thread_handler
Definition: serial.hpp:12
void dag_prof_end()
Definition: serial.hpp:63
void fork(thread_handler< T > &th, OnDriftForkCallback, OnDriftDieCallback, WorkHint, WorkHint, Fn &&fn, Args &&... args)
Definition: serial.hpp:23
void dag_prof_print() const
Definition: serial.hpp:64
T root_exec(SchedLoopCallback, Fn &&fn, Args &&... args)
Definition: serial.hpp:17
void coll_exec(const Fn &fn)
Definition: serial.hpp:44
void migrate_to(common::topology::rank_t, PreSuspendCallback &&, PostSuspendCallback &&)
Definition: serial.hpp:41
void task_group_end(PreSuspendCallback &&, PostSuspendCallback &&)
Definition: serial.hpp:60
void dag_prof_begin()
Definition: serial.hpp:62
void poll(PreSuspendCallback &&, PostSuspendCallback &&)
Definition: serial.hpp:38
void task_group_begin(task_group_data *)
Definition: serial.hpp:58
bool is_executing_root() const
Definition: serial.hpp:48
void sched_loop(SchedLoopCallback)
Definition: serial.hpp:35
static bool is_serialized(const thread_handler< T > &)
Definition: serial.hpp:53
T join(thread_handler< T > &th)
Definition: serial.hpp:30
int rank_t
Definition: topology.hpp:12
va_list args
Definition: util.hpp:76
Definition: aarch64.hpp:5
ForwardIteratorD move(const ExecutionPolicy &policy, ForwardIterator1 first1, ForwardIterator1 last1, ForwardIteratorD first_d)
Move a range to another.
Definition: parallel_loop.hpp:934
Definition: serial.hpp:57