What's in this PR?
This PR separates inner reduction heuristics into distinct 2D and 3D heuristic functions.
Why?
The 2D and 3D reductions represent different domain structures within the reduction tensor view:
2D inner reduction: Domains in the reduction tensor view can be merged into a 2D structure, [I, R].
3D inner reduction: Domains can be merged into a 3D structure, [R, I, R].
These two configurations require different parallelization strategies, so keeping them in separate functions enhances maintainability and allows for individual optimization of each heuristic.
code changes
The existing innerReductionHeuristic() is duplicated as inner2dReductionHeuristic and inner3dReductionHeuristic, will clean inner2dReductionHeuristic in a separate PR.
What's in this PR? This PR separates inner reduction heuristics into distinct 2D and 3D heuristic functions.
Why? The 2D and 3D reductions represent different domain structures within the reduction tensor view:
These two configurations require different parallelization strategies, so keeping them in separate functions enhances maintainability and allows for individual optimization of each heuristic.
code changes The existing
innerReductionHeuristic()
is duplicated asinner2dReductionHeuristic
andinner3dReductionHeuristic
, will cleaninner2dReductionHeuristic
in a separate PR.