Compiler settings for the examples
Matthias Kretz
[please enable javascript to see the address]
Mon Aug 29 10:23:16 CEST 2016
Hi Krishna,
when you compile a project using cmake, use 'make VERBOSE=1' to see the
compiler flags it uses.
In very few cases, in Vc, I use compiler flags to inhibit automatic
vectorization (if I want to compare scalar vs. vector *hardware*). I don't
recall right now what I do for the polar coordinates case, but I think I leave
the compiler on -O3 (i.e. autovectorize and optimize as much as possible).
In general, I think your argument should not be: my code transformation can
vectorize something that a compiler does not vectorize. That's a race against
many very smart people. I think what you want to show is that you can
transform a given scalar code base into a Vc code base as a useful basis for
further manual vectorization development. That's something compilers don't do
at all...
Cheers,
Matthias
On Samstag, 27. August 2016 10:52:55 CEST Krishna Narasimhan wrote:
> Hi all,
> I am wondering about the compiler settings for the example files
> posted. I ran a small test on the cartesian-polar coordinate example in the
> VC website and just used the makefile available there to assess the run
> times. And the run times for the VC was substantially better than the run
> times for the Scalar versions. But the question is couldnt compiler level
> optimizations have done this already. And was wondering what level the
> compilers are set for the basic makefiles in the VC by default.
>
> Basically, I am using the polar cartesian co ordinate example as part of my
> research with programming languages (and simple vc transformations are one
> of the evaluation) and would be nice to justify even these simple
> transformations are not stuff that compilers dont vectorize automatically.
>
>
>
> Best
> Krishna
--
──────────────────────────────────────────────────────────────────────────
Dr. Matthias Kretz https://kretzfamily.de
GSI Helmholtzzentrum für Schwerionenforschung https://gsi.de
SIMD easy and portable https://github.com/VcDevel/Vc
──────────────────────────────────────────────────────────────────────────
More information about the Vc
mailing list