Polly Vectorization very large speedup

69 views
Skip to first unread message

hameeza ahmed

unread,
May 28, 2021, 7:14:57 AM5/28/21
to llvm-dev, polly-dev
Hello,
I have run polybench correlation with following command on LLVM-12.0;
/home/clang+llvm-12.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang -O3 -mllvm -polly -mllvm -polly-vectorizer=polly -I ../../../../utilities -I ../../../../datamining/correlation ../../../../utilities/polybench.c ../../../../datamining/correlation/correlation.c -lm -DPOLYBENCH_TIME  -DEXTRALARGE_DATASET -o polly-O3-vector-extralarge


I am getting execution time of 0.100884s with polly-vectorizer
However with LLVM -O3 time is 85.083153s
polly vectorizer gives a speedup of 843.37x which is unbelievable.
Why is that so? Am I running wrong command?

Please guide.

Thank You
Regards

Michael Kruse

unread,
May 28, 2021, 10:57:16 AM5/28/21
to hameeza ahmed, llvm-dev, polly-dev
In addition to vectorization, Polly also applies memory optimizations
(such as tiling). Correlation is one of the benchmarks where this
works particularly well.

In doubt, compare the output of the benchmark with and without Polly
(-DPOLYBENCH_DUMP_ARRAYS). Note that there may be floating-point
rounding differences, you could try `fpcmp` from the llvm-test-suite.
-polly-vectorizer=polly is not particularly well-tested, so a
miscompilation could indeed be the reason.

Michael
> --
> You received this message because you are subscribed to the Google Groups "Polly Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to polly-dev+...@googlegroups.com.
> To view this discussion on the web, visit https://groups.google.com/d/msgid/polly-dev/CAFMPKeY_NaQQEN8Ws41p%3DWKe1vwRxXUSPPz7RN%2BmmYyO39sGxQ%40mail.gmail.com.



--
Tardyzentrismus verboten!
Reply all
Reply to author
Forward
0 new messages