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

bosccTransform performance remedy problem #15

Open
ghost opened this issue Mar 20, 2018 · 2 comments
Open

bosccTransform performance remedy problem #15

ghost opened this issue Mar 20, 2018 · 2 comments

Comments

@ghost
Copy link

ghost commented Mar 20, 2018

I turn on config.enableHeuristicBOSCC in PACXX and test it using aobench and rodinia/cfd. This transformation does not bypass the desired path, however, with hard-coded optimization, I could get more than 2X than the original RV version. I find several problems in this bosccTransform.

  1. In the computeDispersion func of bosccTransform.cpp: line 528, GetEdgeProb(*start, *end) should not been used here. GetEdgeProb(*start, *end) computes all the paths from *start to *end, while AFAIU, we only need the direct path from *start to *end. GetEdgeProb(*start, Index) is more suitable here.
  2. In bosccHeuristic func, I wonder why maxRatio and minScore is assgined to a specific number(0.14&17). The aforementioned two applications fail to meeting the requirement of <0.14.
@simoll
Copy link
Member

simoll commented Mar 21, 2018

  1. Feel free to fix it (eg by skpping predecessors we have already seen (line 504). The current implementation gives you over-pessimistic results when a divergent switch jumps to the same block on multiple cases.
  2. These are heuristic values. You can use the environment variables BOSCC_T and BOSCC_LIMIT to feed in your own thresholds. I'd like to look into this. Can you send me a mail with the details on aobench, rodinia/cfd?

@ghost
Copy link
Author

ghost commented Mar 21, 2018

Sure. You could find the source code in aobench folder and cfd folder in my sample repos (https://github.com/HuihuiSun/samples). A preliminary improve of this boscctransformation is updated in pacxx-rv.

simoll added a commit that referenced this issue Mar 26, 2018
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

No branches or pull requests

1 participant