Announcement

Collapse
No announcement yet.

A Linux Compiler Deathmatch

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #71
    Originally posted by staalmannen View Post
    so do you have a suggested set of flags I should use for ICC in my final round of tests? I am about to have the -Os round finished (only open64 left to run) and after that I was going for a round of compiler-specific and supposedly optimized flags.
    I would suggest to create a set of profiles for each compiler and test them. Something like this:


    ICC version 12 (parallel studio xe 2011)
    most agresive flags: -fast -no-prec-div -fp-model fast
    more agresive flags: -O3 -xHOST -ip -no-prec-div -fp-model fast
    agresive flags: -O3 -xHOST -ip
    normal O3: -O3
    normal O2: -O2
    normal Os: -Os

    open64 4.2.3
    most agresive flags: -ofast
    more agresive flags: -O3 -ffast-math -lno -apo -mso -march=wolfdale
    agresive flags: -O3 -lno -apo -mso -march=wolfdale
    normal O3: -O3
    normal O2: -O2
    normal Os: -Os

    GCC 4.5.2
    most agresive flags: -O3 -ffast-math -march=native -mtune=native -fexcess-precision=fast -ftree-parallelize-loops=5 -floop-parallelize-all -floop-interchange -floop-strip-mine -floop-block -flto
    more agresive flags: -O3 -ffast-math -march=native -mtune=native -fexcess-precision=fast -ftree-parallelize-loops=5 -floop-parallelize-all -floop-interchange -floop-strip-mine -floop-block -flto
    agresive flags: -O3 -march=native -mtune=native -ftree-parallelize-loops=5 -floop-interchange -floop-strip-mine -floop-block -flto
    normal O3: -O3
    normal O2: -O2
    normal Os: -Os


    If u are not in the mood to do alll this , I would suggest to try more agresive flags or agresive flags profile.

    note1: Most agresive flags and more agresive flags perform not acurate IEEE maths operations, but this should be fine for most programs.
    note2: This is my personal choice, I only toyed a little with GCC vs ICC in the past, so those flags could be wrong or not optimal.

    Comment


    • #72
      Originally posted by Jimbo View Post
      If u are not in the mood to do alll this , I would suggest to try more agresive flags or agresive flags profile.

      note1: Most agresive flags and more agresive flags perform not acurate IEEE maths operations, but this should be fine for most programs.
      note2: This is my personal choice, I only toyed a little with GCC vs ICC in the past, so those flags could be wrong or not optimal.
      Heh.. I was basically planning on doing just a single round more after the -Os one... so I will go for the "most aggressive" choice :P

      Got some tips about how to format the data nicer from mtippet, which I will try for the -Os merge.

      Comment


      • #73
        Originally posted by staalmannen View Post
        ... so I will go for the "most aggressive" choice :P
        Nice! this should be the interesting round!!

        Enable -flto on GCC is a little tricky, it seems that your LDFLAGS should be the same that CFLAGS, so you should edit the makefile and copy paste the CFLAGS flags into LDFLAGS, but I am not really sure at all about -flto flag, sorry.

        Comment


        • #74
          open64 4.2.3
          most agresive flags: -Ofast -ffast-math -lno -apo -mso -march=wolfdale

          If most aggressive choice doesn't compile , change to more aggressive choice.

          Comment


          • #75
            Community CompilerDeathMatch updated with -Os

            A new merge with the -Os results are hereby presented:



            Enjoy!

            Next up: Aggressive and compiler-specific settings (are there any tweaks that can be made to TCC?).

            Comment


            • #76
              Intermediate update, specific optimizations.

              The final round of the CompilerDeathMatch has started.

              An intermediate update can be found here:


              Changes:
              - Optimization for PCC (suggested by Anders Magnusson, PCC mantainer)
              - the suggested most aggressive optimizations for ICC and GCC
              - SolarisStudio on default settings

              The SolarisStudio is a late commer to the party, but will hopefully catch up soon.

              Comment


              • #77
                Final results in new thread

                I have put the final results for discussion in a new thread

                Comment

                Working...
                X