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