Announcement

Collapse
No announcement yet.

GCC To Receive Automatic Parallelization Support

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

  • GCC To Receive Automatic Parallelization Support

    Phoronix: GCC To Receive Automatic Parallelization Support

    IBM's Razya Ladelsky today outlined plans for providing automatic parallelization support within the GNU Compiler Collection. The Graphite Framework, which provides high-level loop optimizations based upon the polyhedral model, was merged for the forthcoming release of GCC 4.4 and it will be used eventually to provide some level of automatic parallelization support...

    http://www.phoronix.com/vr.php?view=NzEzNA

  • #2
    What kind of time frame are we talking before my favorite distro can be compiled from the ground up with this enabled? I want this yesterday!

    Comment


    • #3
      Hey ! I'm not sure about it, but it seems like it will be the first compiler to support this killer-feature !

      Am I wrong ?

      Comment


      • #4
        Stuff like this makes me happy being a Gentoo user

        Comment


        • #5
          Originally posted by RealNC View Post
          Stuff like this makes me happy being a Gentoo user
          What happens when a Gentoo user wants to change his CPU+Motherboard?

          Comment


          • #6
            Originally posted by FunkyRider View Post
            What happens when a Gentoo user wants to change his CPU+Motherboard?
            They switch to Debian

            Comment


            • #7
              Haha, you wish! No, they simply rebuild.

              PS:
              No wait, they don't. Switching CPU is usually done to UPGRADE it. Future CPUs are always compatible with older ones. Only downgrading can require a rebuild.

              Comment


              • #8
                Originally posted by FunkyRider View Post
                What happens when a Gentoo user wants to change his CPU+Motherboard?
                i would imagine they first open their tower, take out any pci cards etc, then disconnect cables, then loosen the screws, take the board out, replaces the backpanel, and then put the new stuff in and connect etc...

                Comment


                • #9
                  Or that

                  Comment


                  • #10
                    +1 gentoo user over here too

                    Comment


                    • #11
                      Originally posted by MPF View Post
                      Hey ! I'm not sure about it, but it seems like it will be the first compiler to support this killer-feature !

                      Am I wrong ?
                      Yes. Intel, IBM, Sun, and probably others have supported it for a while. And it's not a killer feature, I don't think it's that great personally.

                      Comment


                      • #12
                        Originally posted by Yuma View Post
                        Yes. Intel, IBM, Sun, and probably others have supported it for a while. And it's not a killer feature, I don't think it's that great personally.
                        The way I read that mailing list message, GCC4.3 already has some very basic loop auto-parallelization code as well. This is about integrating a new model which will allow it to become much more complex and useful.

                        Comment


                        • #13
                          Originally posted by FunkyRider View Post
                          What happens when a Gentoo user wants to change his CPU+Motherboard?
                          Me another happy Gentoo camper. And such things are non-issue unless you have over-optimized for a specific machine. For example, I have compiled my 64-bit Gentoo with cflags "march=core2" (including mcore2 in kernel), created an image and transferred it to my older athlon64x2 3800+ and it runs flawlessly. Sure it may be a bit suboptimal for my athlon, but since most of my machines are core2, I decided to go with it.

                          (Btw, I was expecting a few issues with advanced instruction sets like sssse3 and sse4aaaaa111 being absent from my athlon, but so far all is good. Including mplayer and stuff. Its a different experience from my first experience when I once compiled with march=pentium3 and it gave problems with a p2 class celeron. The second time, I was happily able to run march=pentium4 gentoo on all my machines ranging from my athlon, sempron to core duo and core2 duo. This time, I first used march=nocona, and when it went good, I was brave to try march=core2 on this older athlon.)

                          Also, as a side note, it has been mentioned many times that Gentoo is not just for ricers. I use it mainly because of its clean and elegant management. (On that note, other distros are yet to come up with something like 'eselect opengl' which can for example make switching graphics easy.) Portage is a gem like APT. Its sad that as mentioned in other forum posts too, that new portage features like updating by git and package sets get no coverage while codenames for ubuntu and fedora are debated.

                          And the other thing about Gentoo is its stability and system consistency. There are no missing libraries / conflicts on a good gentoo system. Sure all distros can do that, but what requires a effort in them is natural in gentoo. The amount of dev packages one needs to install when occasionally compiling even a small 3rd party package is sometimes nagging in other distros.

                          And one last thing. In my experience, for most packages, there is no difference in speed between debian i386 packages and super optimized gentoo packages. In fact, mostly debian feels much lighter.

                          Hope I didn't hijack this thread .

                          Comment


                          • #14
                            Originally posted by hdas View Post
                            (Btw, I was expecting a few issues with advanced instruction sets like sssse3 and sse4aaaaa111 being absent from my athlon, but so far all is good. Including mplayer and stuff.
                            march=core2 won't include anything past SSE2 by default. You have to add -mssse3, -mssse4.1, and -mssse4.2 to get the special instructions that won't work on your A64. I think the standard instructions on those chips are identical, unless you get into stuff like special hardware VM support.

                            Really, SSE2+ support is only going to affect a few applications anyway, and they've probably got special flags and optimizations setup within the ebuild or program. I'm pretty sure MPlayer, for example, contains lots of manual assembly code and detects what CPU you have at runtime and picks it's fastest paths available.
                            Last edited by smitty3268; 03-11-2009, 02:59 AM.

                            Comment


                            • #15
                              Premature optimization is the root of all evil.
                              You gentoo users don't test whether it actually gives you any gain...

                              Comment

                              Working...
                              X