Announcement

Collapse
No announcement yet.

AMD's FX-8150 Bulldozer Benefits From New Compilers, Tuning

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

  • #11
    Originally posted by fuzz View Post
    This. Gentoo FTW. Frankly, Gentoo is the only reason I would consider the Bulldozer.

    Would be neat to see something like Gentu (Ubuntu + Gentoo lol) with a spawn of portage + aptitude... binaries for all different processors (you could do binaries for all different USE flags too, theoretically, but that would just be a HUGE undertaking with some packages having 100+ USE flags that's at least 100^100 builds). I think it could be done but that just makes the repositories that much more critical etc.
    Hardware optimizations would be enough. How many people out there actually would use USE flags if they knew and understood them? Imagine a situation where a friend comes with a new camera to share the photos. What would you with super-optimized kernel that has only drivers you need? I believe the USE flags are becoming obsolete. Nowadays we use machines which are strong enough to deal with "bloated" code. Also, the more functions are enabled in the program, the more it is prepared for unexpected situations, like the camera example above. Concluding, the software should have compiled-in all the stable functions.

    I had dreamed about the multi-optimized distributions for years already, since my first contact with Gentoo. However, I am not skilled yet to try something on my own. After thinking about it for a long time I decided what kind of system would be most efficient. A tool would need to be created, which determines the suitable optimizations. Even better, if optimizations would be selected for each package (as in package manager) separately. Distribution would be installed from a precompiled installation media and then it would recompile itself with the aforementioned tool. All new packages would be compiled during installation with tool too. This way, the cost of package maintenance would actually lessen while the users got a faster system.

    Comment


    • #12
      Originally posted by Hirager View Post
      Hardware optimizations would be enough. How many people out there actually would use USE flags if they knew and understood them? Imagine a situation where a friend comes with a new camera to share the photos. What would you with super-optimized kernel that has only drivers you need? I believe the USE flags are becoming obsolete. Nowadays we use machines which are strong enough to deal with "bloated" code. Also, the more functions are enabled in the program, the more it is prepared for unexpected situations, like the camera example above. Concluding, the software should have compiled-in all the stable functions.

      I had dreamed about the multi-optimized distributions for years already, since my first contact with Gentoo. However, I am not skilled yet to try something on my own. After thinking about it for a long time I decided what kind of system would be most efficient. A tool would need to be created, which determines the suitable optimizations. Even better, if optimizations would be selected for each package (as in package manager) separately. Distribution would be installed from a precompiled installation media and then it would recompile itself with the aforementioned tool. All new packages would be compiled during installation with tool too. This way, the cost of package maintenance would actually lessen while the users got a faster system.
      I more or less agree with you -- was just saying I think different USE flags would be possible (however crazy it could get). Yeah, most modern computers can do with compiling everything into programs, especially with the introduction of SSDs for faster loading times. The option is still useful for less-powerful computers, though (but then, Gentoo will probably always be an option anyway).

      I really do think a processor-optimized binary distribution is possible this day in age. Hell, I don't even think it would be that hard. Just needs a lot more compiling for builds on the server-end.
      Last edited by fuzz; 18 April 2012, 03:11 PM. Reason: spelling

      Comment


      • #13
        Originally posted by pingufunkybeat View Post
        Gentoo FTW?
        Fuck the what??

        Comment


        • #14
          Originally posted by fuzz View Post
          I more or less agree with you -- was just saying I think different USE flags would be possible (however crazy it could get). Yeah, most modern computers can do with compiling everything into programs, especially with the introduction of SSDs for faster loading times. The option is still useful for less-powerful computers, though (but then, Gentoo will probably always be an option anyway).

          I really do think a processor-optimized binary distribution is possible this day in age. Hell, I don't even think it would be that hard. Just needs a lot more compiling for builds on the server-end.
          Actually, there would be no need for server side compilation, if everything were built on end users machine.

          Comment


          • #15
            Originally posted by fuzz View Post
            This. Gentoo FTW. Frankly, Gentoo is the only reason I would consider the Bulldozer.

            Would be neat to see something like Gentu (Ubuntu + Gentoo lol) with a spawn of portage + aptitude... binaries for all different processors (you could do binaries for all different USE flags too, theoretically, but that would just be a HUGE undertaking with some packages having 100+ USE flags that's at least 100^100 builds). I think it could be done but that just makes the repositories that much more critical etc.
            OpenSUSE Build Service FTW?

            Comment


            • #16
              Originally posted by Hirager View Post
              Actually, there would be no need for server side compilation, if everything were built on end users machine.
              Well, yeah, but the point is to avoid that.

              Comment


              • #17
                Originally posted by fuzz View Post
                Well, yeah, but the point is to avoid that.
                I just had an enlightenment - precompile the most popular packages with most popular optimization combinations. The rest will be left in source form for users to build themselves.

                Comment


                • #18
                  Michael,

                  Great article really showing the potential of the Bulldozer core with a well matched compiler. Please please do an update for the ARM cpu's comparing GCC 4.4 - 4.7

                  Thanks

                  Comment


                  • #19
                    Originally posted by Hirager View Post
                    I just had an enlightenment - precompile the most popular packages with most popular optimization combinations. The rest will be left in source form for users to build themselves.
                    The status quo is to compile everything with as many optimizations as possible, but remain compatible with the arch/family, such as AMD64.

                    Everything 'is' available in source form already, which is why Michael was able to conduct his testing and write an article.

                    As mentioned, Gentoo "makes this easy" by supplying a build environment and easily accessible configuration. Unfortunately, it's a double edged sword. By making DIY optimizations trivial, Gentoo makes a number of things more difficult than a typical consumer is willing to undertake. This is not to say that they have not achieved something remarkable, it's just not everyone's cup-of-tea.

                    F

                    note for non-SA/SE readers: When talking about Gentoo, terms like "easy" and "simple" are relative to the difficulty and complexity of doing something without portage.

                    Comment


                    • #20
                      RTFM

                      Originally posted by Hirager View Post
                      How many people out there actually would use USE flags if they knew and understood them?
                      from the gcc docs:

                      -mtune=native

                      This selects the CPU to tune for at compilation time by determining the processor type of the compiling machine. Using -mtune=native will produce code optimized for the local machine under the constraints of the selected instruction set. Using -march=native will enable all instruction subsets supported by the local machine (hence the result might not run on different machines).

                      Comment

                      Working...
                      X