Slashdot Mirror


Intel's New Compiler Boosts Transmeta's Crusoe

Bram Stolk writes: "Intel recently released its new C++ compiler for linux. I've been testing it on my TM5600 Crusoe. Ironically, it turns out that Transmeta's arch nemesis, Intel, provides the tools to really unlock Crusoe's full potential on linux." It doesn't support all of gcc's extensions, so Intel's compiler can't compile the Linux kernel yet, but choice is nice.

19 of 272 comments (clear)

  1. Uh... by davster · · Score: 1, Interesting

    Intel's compiler can't compile the Linux kernel yet

    Last time i checked the kernel was in C not C++

  2. Without the kernel, what good is it? by WillSeattle · · Score: 0, Interesting

    OK, the first thing you said was that it unlocked Transmeta's strengths. This is good - especially since I own some stock, I'm pleased.

    But, as you said, you are unable to compile the kernel. So, it's like saying:

    Son: "Look, ma, I got the fastest wheels in the world for my car! Now I can gain 100 mph when I speed down the road!"

    Ma: "Um, sonny, you still have to get the engine working before you can do that."

    So, again, until you can actually compile the kernel, it's a fascinating breakthrough, but one with little utility to the real world.

    -

    --
    --- Will in Seattle - What are you doing to fight the War?
    1. Re:Without the kernel, what good is it? by basking2 · · Score: 2, Interesting

      What I think is being pointed out is that on-cpu time will be shorter. This has some nice pluses to it, even if the kernel doesn't get the nice optimizations of it all. I would love a faster apache server, even if my kernel is (reletivly speaking) more pokey. :-)

      --
      Sam
  3. My results with Linux and NetBSD by Walter+Bell · · Score: 5, Interesting
    The Linux results were interesting, but rather flat: everything benefited from it on my system. However I rebooted into NetBSD and gave the compiler a shot at 'make sys' and 'make world'. Because the NetBSD kernel does not use any nonstandard gcc extensions, it compiled just fine with the new compiler. What I found was:
    • The kernel showed a marked performance benefit on the TM5600. On my TM5400 the results were not noticable.
    • Most userspace utilities appeared to be quite a bit faster on both CPUs. However, some (one notable example being /usr/local/bin/perl) were much slower with the new compiler. I verified that this was not the case on Linux, so it is unclear to me as to why this happens under NetBSD. Further investigation is needed.

    ~wally

  4. This is very interesting. by Anton+Anatopopov · · Score: 3, Interesting
    It seems as if Intel is playing a very clever game here. If Intel can unlock the true potential of the transmeta's code morphing architecture, then they are giving it a great deal of credibility in the industry.

    Given that Intel makes a lot of its money from selling silicon, why on earth would it develop compiler technology which legitimized the approach of one of its major competitors ?

    I can only assume that Intel has some fairly advanced code morphing technology of its own, and has been using the transmeta devices as a testbed.

    I can just see it now, a 4GHz pentium with code morphing extensions.

    I expect this one will be fought out in the patent arena. IBM and Intel are heavyweight players and I don't see either of them giving any ground willingly.

  5. Re:Take Note that... by smileyy · · Score: 2, Interesting

    You're one of those people who just doesn't get the fact that the Crusoe gets speed gains by *not* using its native instruction set.

    --
    pooptruck
  6. Re:GCC extensions?? by Anonymous Coward · · Score: 1, Interesting

    Being at the "mercy" of GCC is not a bad thing - it is the most portable compiler on earth. What's wrong with that?

  7. Ummm... Price? by Erioll · · Score: 1, Interesting

    I'm suprised I haven't seen anyone else post this. Intel's compiler is EXPENSIVE! $499? I think since most programmers are not exactly rich (Gates excluded), I think most Linux people are not going to exactly embrace this new compiler.

    $500? I paid less than that for my MS compiler!

    Erioll

  8. Re:GCC extensions?? by srvivn21 · · Score: 3, Interesting

    It gets significant performance improvements this way.

    But are these performance increases greater than what would be realized if the Kernel could be compiled using icc?

    This doesn't address the maintainence issue, but it's something that I am looking forward to seeing in the near future. I figure someone has the time and drive to hack the Kernel source to the point that icc will compile it. Goodness knows, I don't.

  9. Not surprising by d5w · · Score: 3, Interesting

    This isn't a particularly startling result. Many of the things an x86 compiler has to optimize for these days are similar across all processors: e.g., regular branch patterns are faster than unpredictable ones; you have very few visible registers; it's helpful to have closely associated data in the same cache lines; you're usually better with the RISCy subsets of the ISA; etc. Intel would have had to go well out of its way to optimize for their own chips and pessimize for others, and I can't see Intel bothering.

  10. Re:GCC extensions?? by TheAwfulTruth · · Score: 2, Interesting

    Perhapse, but what if gcc isn't the best compiler in the world? What if, besides caruso, Intel's compiler is actually a BETTER compiler than gcc on intel hardware? Then were stuck using gcc for compiling the kernel when something better is or might be some day available. Locking the kernel to a compiler is a BAD THING[tm].

    --
    Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
  11. Re:KDE performance by hexix · · Score: 3, Interesting

    I was wondering the same type of thing. Is this going to be helpful to KDE in any way?

    It's my understanding that the problem is with the gnu library linker, but I don't know much about compilers. Does this intel compiler have it's own library linker or does it still use the gnu one?

    If it does use it's own can we expect to see dramatic speed increases if we were to compile KDE with this intel compiler?

  12. Re:Here's another news flash by basking2 · · Score: 2, Interesting

    Optimization for a compiler is directed at chip-generation, not necessarily ISA's. Remember that FU latencies are the big problem in the pipeline, and since Transmeta is a RISC, this is kinda neat! :-)

    --
    Sam
  13. duh, you're using the wrong gcc flags by Anonymous Coward · · Score: 2, Interesting

    You're benchmarking an intel compiler which will generate optimized intel code, but telling gcc to use "-m386" ?

    You have an 80386 machine here secretly? Why not use the optimized flags like "-mcpu=i686 -march=i686" and give a fair comparison?

    Am I the only one to see this? C'mon people, wake up, read the manual.

  14. Re:GCC extensions?? by rgmoore · · Score: 3, Interesting
    The Kernel should not be at the mercy of one compiler.

    "At the mercy of" one compiler is a rather strange description, don't you think? After all, both Linux and gcc are released under the GPL, which means that anyone who wants to use Linux will already be willing to accept what many people view as the most obnoxious feature of gcc (the license). And it's not as though the gcc developers can yank the rug out from under Linux by making it proprietary, refusing to distribute old versions, etc. If anything it would be crazy to make serious modifications to Linux to take advantage of a compiler like Intel's that could be taken away at any minute.

    --

    There's no point in questioning authority if you aren't going to listen to the answers.

  15. No kernel, so what? by labradore · · Score: 4, Interesting
    It seems that nearly everyone has missed the point of this article. POVRay is a program that makes very heavy use of the FPU. ICC speeds up POVRay's performance by 16% to 28% in the x86 architecture compared to GCC. In other words x86 FPU's are faster executing code from programs built with ICC. The Linux kernel (and almost any kernel for that matter) has very little floating point code. Therefore one cannot assume that ICC would improve kernel performance, even if it could compile it.

    The real story here is that the maintainers of GCC aught to look carefully at their optimization code for x86 FPUs.

    I'm betting that Intel developers have done their best to make use of the P4 cache. Since Transmeta CPUs do work recompiling programs on the fly they have larger caches (128KB L1 + 512KB L2) than the Athlon (128KB L1 + 256KB L2) and the Pentium 4 (20? KB L1 and 256KB L2). ICC is probably also highly agressive in implimenting SSE and SSE2 instructions. Transmetal CPUs also use VLIW instructions in core wich are by their nature highly parallel (compared to native x86). Even if the Transmeta chips can't use SSE and SSE2 they may benefit from the parallel-oriented optimizations that ICC probably makes.

    On a different note: in a program like POVRay that executes basically the same tight loop of instructions mega-gazillions of times during a scene the Transmeta chip's software can have the opportunity to highly optimize the program. I would like to see the stats on the second and third runs of that rendering to see how much the Transmeta "code morphing" improved the performance. It would be very interesting if the GCC and ICC built POVRays perfomed at almost the same speed after a few runs. It would obviously be a great proof of the value of Transmeta's design. I for one have always wondered what the code morphing stuff would be able to do if it were able to interface with the operating system and recompile and save the entire system back to the hard disk as it goes through the optimiztion processes. (I suppose that errors could be highly disasterous.)

    That's just my $0.02 and I'm no expert so I could definately be wrong.

    This is not a signature.

  16. What about gcc 3.0 ? by Stormie · · Score: 4, Interesting

    Interesting benchmark of Intel's compiler vs. gcc 2.95.4, but what about gcc 3.0? I'd love to see how that compared, given that I've heard such mixed opinions about whether it's optimisation tends to be better, worse, or the same as the 2.95 series..

  17. Licensing loophole ($$$) by digitalEric · · Score: 2, Interesting

    Actually, having read the license, I found the following loophole:

    . . . if you buy the compiler, you are allowed to distribute code that you compile with icc ;) Find someone who has paid for icc, and ask them nicely if they would compile something for you. No, it's not open-source, but you can distribute source code along with an optimized binary if you're so inclined.

  18. About the Intel Compilers... by ChaoticCoyote · · Score: 3, Interesting

    ...I wrote up a short "First Look" regarding the "noncommercial" (i.e., no-cost) versions of Intel's C++ and Fortran 95 compilers for Linux. I look at licensing, too, and have Intel's comments posted as well.

    You can also look at some rudimentary benchmarks comparing gcc 3.0.1 and Intel C++ 5.0.