Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement all scheduling APIs in terms of executors #3027

Closed
7 tasks done
hkaiser opened this issue Nov 26, 2017 · 0 comments · Fixed by #3039
Closed
7 tasks done

Implement all scheduling APIs in terms of executors #3027

hkaiser opened this issue Nov 26, 2017 · 0 comments · Fixed by #3039

Comments

@hkaiser
Copy link
Member

hkaiser commented Nov 26, 2017

Not all of our scheduling API has been ported to use executors yet. Here is a list of things that needs restructuring:

  • thread-scheduler executor customization points currently use async and apply
  • all async(exec, ...) overloads need to dispatch to execution::async_execute(exec, ...)
  • all apply(exec, ...) overloads need to dispatch to execution::post(exec, ...)
  • all future::then(exec, ...) overloads need to dispatch to execution::then_execute(exec, ...)
  • all dataflow(exec, ...) overloads need to dispatch to execution::post(exec, ...) (or similar)
  • all plain overloads of the above (i.e. async, future::then, and dataflow without any additional scheduling hint) should forward to the corresponding executor interface by supplying execution::parallel_executor
  • execution::parallel_executor and execution::sequenced_executorshould not rely on calling async/apply
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant