Slashdot Mirror


Using AI With GCC to Speed Up Mobile Design

Atlasite writes "The WSJ is reporting on a EU project called Milepost aimed at integrating AI inside GCC. The team partners, which include include IBM, the University of Edinburgh and the French research institute, INRIA, announced their preliminary results at the recent GCC Summit, being able to increase the performance of GCC by 10% in just one month's work. GCC Summit paper is provided [PDF]."

10 of 173 comments (clear)

  1. MachIne Learning for Embedded PrOgramS opTimizatio by lastchance_000 · · Score: 3, Insightful

    Can we please stop using pointless backronyms? What purpose do they serve?

  2. Re:I, for one, by morgan_greywolf · · Score: 5, Insightful

    I, for one, welcome our uh...what were we talking about again?

    I, for one, welcome our new optimizing, embedded program compiling AI overlords!

  3. Re:Perhaps the way to other things besides compile by LiENUS · · Score: 3, Insightful

    This particular part made me think of a day when every program comes with a redesign.exe. Simply click the button, and it scans every piece of hardware on your computer, and then rewrites every optimization in it to perfectly fit your computer. Programs that streamline to your hardware, maybe even change the OS's they work under. It's written for Windows, you're running OSX? No problem, it'll rewrite itself as an OSX program. Though, that's probably still decades off. But AI seems to me to be the way to ultimate compatibility.

    This exists today without ai. See java with JIT or even AOT (ahead of time). There are of course some issues with it but the technology is there.

  4. Just optimisation? by Rob+Kaper · · Score: 2, Insightful

    This could be big.

    Compilers aren't programmed to be viral or reproductive, but could be, even being capable of testing their offspring (compilers they've compiled) for defects.

    This could be a big step forward to self-improving AI.

  5. Re:MachIne Learning for Embedded PrOgramS opTimiza by sm62704 · · Score: 3, Insightful

    GCC is easier to remember? Ok, that really isn't an acronym (or bacronym I guess... is it?)

    Actually, either acronyms and bacronyms (a word I had to look up, having never seen it before, but damn I was 30 when the word was coined and forty before it was ever documented) are ok by me.

    What's not ok is the devolution of literacy. "Back in the day" the rule was, and still should be, that the first time any acronym (and now bacronym) is used in any document, it should be spelled out:

    "The WSJ (Wall Street Journal) is reporting on a EU project called Milepost aimed at integrating AI (Articiaial Intelligence) inside GCC (Gnu Compiler). The team partners, which include include IBM, the University of Edinburgh and the French research institute, INRIA, announced their preliminary results at the recent GCC Summit, being able to increase the performance of GCC by 10% in just one month's work. GCC Summit paper is provided [PDF]."

    "Wall Street Journal" should be spelled out because dammit, Jim, I'm a nerd, not a greedhead. EU should need no more explanation than US. AI shouldn't need explanation; this is, after all, a nerd site and the term has been around almost as long as I have. IBM has been around a lot longer and is usually how the company is referred to; that's its name. Its commercials and ads don't even say "International Business Machines".

    CGG would be unknown to non-Linux users and non-programmers, so it should have been spelled out as well. PDF doesn't need to be expanded because gees, everybody knows what a PDF is but who knows what a portable document format is?

    --
    mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
  6. Re:I, for one, by morgan_greywolf · · Score: 5, Insightful

    "Funny" doesn't give karma, insightful does. That's why you sometimes see Funny posts moderated insightful.

  7. What about making the *programs* 10% faster by Bazouel · · Score: 2, Insightful

    Honestly, who really cares about 10% speedup in gcc ? Do they compare their results with competing compilers (Intel, MS, etc.) ? If you ask me, I would much rather have 10% speed improvement on programs I compile.

    --
    Intelligence shared is intelligence squared.
  8. It's a way to evaluate optimization effectiveness. by Animats · · Score: 3, Insightful

    This isn't really "AI". It's basically a way of feeding measured performance data back into the compiler. Intel compilers for embedded CPUs have been doing that for years.

    With modern superscalar CPUs, it's not always clear whether an optimization transformation is a win or a lose. This varies with the implementation, not the architecture. For some x86 CPUs, unrolling a loop is a win; for others, it's a lose. Whether it's a win or a lose may depend on details of the loop and of the CPU implementation, like how much register renaming capacity the CPU has.

    Whether this is a good idea, though, is questionable. You can get an executable very well tuned to a given CPU implementation, but run it on a different CPU and it may be worse than the vanilla version. MIPS machines (remember MIPS?) can get faster execution if the executable is complied for the specific target CPU, not the generic MIPS architecture. This effect is strong enough that MIPS applications tended to come with multiple executables, any of which would run on any of MIPS machines, but would work better if the executable matched. This is a pain from a distribution and development standpoint.

    The embedded community goes in for stuff like this, but that's because they ship the CPU and the code together and know it matches. For general-use software, a 10% speed improvement probably isn't worth the multiple version headache.

    Also, if you have multiple versions for different CPUs, some bugs may behave differently on different CPUs, which is a maintenance headache.

  9. Re:MachIne Learning for Embedded PrOgramS opTimiza by Cairnarvon · · Score: 3, Insightful

    GCC (Gnu Compiler)

    I think you mean:

    GCC (GNU (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's (GNU's ...

    Yeah, not always a good idea.

  10. Re:Perhaps the way to other things besides compile by HeroreV · · Score: 2, Insightful

    the pendulum would have to swing mighty far back.

    How many times have you seen a program packaged with it's own virtual machine image? I sure haven't seen many. The pendulum has hardly begun to swing.

    That said, I think it'll be a very long time before we have AI smart enough to rewrite program blobs written for one operating system into programs for another operating system. Bytecode requires zero AI and is already gaining significant ground.