[FLASH-USERS] Problem with Compiling Flash3.0

Nathan Hearn nhearn at uchicago.edu
Tue Jul 15 10:24:58 EDT 2008


Hi Seyit,

    It is certainly not dangerous to do this -- in fact "fast" options
sometimes cause the compiler to produce machine code that is not fully
equivalent to the code being compiled (from a mathematical
standpoint).  However, you may be losing out on some of the
performance capabilities of your hardware.

    The messages about loop vectorization -- although, admittedly,
they are annoying -- are the compiler announcing that it has found
ways to use the vector hardware on your CPU (e.g., SSE, AltiVec),
which can result in multiple floating point operations occurring
simultaneously.  In other words, a single operation produces two or
more results in parallel, instead of just one.  (In your case, did the
number of vectorization messages decrease by using the "-vec-report0"
option?)

    The inter-procedural optimizations option (ipo) can produce more
tightly-coupled code when many function calls are made from a given
location in the code.  Typically, this option will perform a lot of
operations in the final stage of building the complete program, and
trigger many of the other compiler operations to be called again.
(Thus, you can end up with twice the number of vectorization messages
when you are done.)

    Again, these are just performance optimizations, and removing them
should not produce incorrect code.  But, it may be worth comparing the
performance (time-to-completion) of code that is compiled with and
without these optimizations.  My recommendation would be to look at
the documentation for your compiler, and select some specific
optimizations instead of simply using "fast".  (It sounds like you may
have already done this.)  I have a feeling that you will get a bigger
performance boost from the vectorization than the interprocedural
optimizations, so I would start there first.


- Nathan


On Tue, Jul 15, 2008 at 7:50 AM, Seyit Hocuk <seyit at astro.rug.nl> wrote:
> Hi,
>
> I reinstalled everything and it seems to work! The annoying remarks of loops
> being vectorized is gone if I put -vec-report0 and remove the -fast option.
> I tested and found that the -ipo within the -fast option is the cause of
> this report output. I hope that by removing this -ipo (which in my compiler
> is shown as -ipo[n]), it doesn't create a different problem. At the moment
> it looks like it works fine now. Is it dangerous to do it like this?
>
> Thanks to all the people who replied, Tomek, Rusty, Nathan, Chris,Tomek
> again, Brock and Anshu.
>
> Kind regards,
> Seyit



More information about the flash-users mailing list