Re: Auto vectorization



1-- How you define the profitability of auto-vectorization phase? Is
it just the speed up? If we do not get any speed up over scalar code
then there is no need to do auto-parallelization.

Seems to be right. Since vector instructions typically do more work
than scalar ones, vector code is usually more *power* hungry. However,
if you achieve a considerable speed-up, the overall *energy*
consumption (power * time) can be less than that of scalar
code. (That's why vector instructions are so popular in embedded DSP
architectures.)

2--What are the phases or features in a compiler ( especially in the
GCC) that control the quality of auto-vectorization?

Vectorization is (profitably) applicable to fairly specific code. Loop
restructuring transformations can massage code to a form more amenable
to vectorization.

If you are interested, I can send you a pdf of my PhD thesis on
programming and compiling for embedded SIMD architectures, which has a
survey chapter on automatic vectorization techniques.

Cheers,
Anton.
.



Relevant Pages

  • Re: Constructive interference in radiowave propagation
    ... stoop to discredit Hecht, Born & Wolf, and Dr. ... Watts/unit-area is certainly a scalar, ... Subtracting power that isn't somewhere else from a number that's apparently higher than it should be in order to get the right answer, and averaging power with zero as a means for reducing an excessively large number by a factor of two in order for the answer to come out right. ... interference somewhere else allows the constructive interference ...
    (rec.radio.amateur.antenna)
  • Re: A question of fractional power of matrix
    ... X^p is X to the power p, if p is a scalar. ... squaring. ... "Fractional powers, like A^, are also permitted; ...
    (comp.soft-sys.matlab)