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

[async] Filter list operations that are clearly redundant #2067

Merged
merged 7 commits into from
Nov 28, 2020

Conversation

yuanming-hu
Copy link
Member

@yuanming-hu yuanming-hu commented Nov 27, 2020

Related issue = #742

... for faster async optimizations

Benchmark on 2D MGPCG:

Before:

  • synchronize: 7.907
    • rebuild_graph in optimize_listgen: 2.225

After (33% faster):

  • synchronize: 5.935
    • rebuild_graph in optimize_listgen: 1.668

[Click here for the format server]


Copy link
Member

@k-ye k-ye left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

It reminds me of how the SFG itself works: if we batch the records for a certain number of kernel launches, then run this list filtering, we could potentially eliminate more redundant listgens?

taichi/program/state_flow_graph.h Outdated Show resolved Hide resolved
@yuanming-hu
Copy link
Member Author

It reminds me of how the SFG itself works: if we batch the records for a certain number of kernel launches, then run this list filtering, we could potentially eliminate more redundant listgens?

Not sure if I clearly get the question, but I believe current the early listgen filtering trick in this PR already eliminates as many redundant listgens as it can :-) We can probably chat more in the meeting tonight :-)

@yuanming-hu yuanming-hu merged commit 3b4adaa into taichi-dev:master Nov 28, 2020
@yuanming-hu yuanming-hu deleted the listgen-filter branch November 28, 2020 20:06
@yuanming-hu yuanming-hu mentioned this pull request Nov 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants