[PATCH] D46735: [Test-Suite] Added Box Blur And Sobel Edge Detection
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 11 10:30:11 PDT 2018
jdoerfert added a comment.
In https://reviews.llvm.org/D46735#1096084, @Meinersbur wrote:
> Some context: Pankaj is a GSoC student on a project to add more Polly-optimizable benchmarks. Currently, only SingleSource/Benchmarks/Polybench is really optimizable, most other benchmarks contain some kind of pre-optimization that makes it difficult for Polly to preserve semantics, even if the algorithm itself is 100% optimizable.
First, let me keep the record straight:
- Only SingleSource/Benchmarks/Polybench profits from the (mostly tiling) transformations applied by Polly.
- There are various reasons why other benchmarks are "not optimizable" by Polly but only a fraction is caused by manual "pre-optimizations" (except the input language choice obviously).
- Adding simple "Polly-optimizable" benchmarks is all good and well (as it makes for nicer evaluation sections in future papers...), but I would argue it is much more interesting to investigate if the existing benchmarks could be optimized and why they currently are not.
Regarding these (and other new) benchmarks:
- Please describe why/how the codes differ from existing ones we have (e.g., Halide/blur). Polybench already contains various kernels including many almost identical ones.
- Please describe why/how the magic constants (aka sizes) are chosen. "#define windows 10" is not necessarily helpful.
- I fail to see how Polly is going to optimize this code (in a way that is general enough for real codes). So my question is: Did you choose a linked data structure on purpose or do you actually want to have a multi-dimensional array?
Finally, regarding the actuall code, I would run clang format and remove these blocks of empty lines.
Repository:
rT test-suite
https://reviews.llvm.org/D46735
More information about the llvm-commits
mailing list