Slashdot Mirror


Intel Releases Compiler Suite 7.0

Yokaze writes "Intel boosts its Pentium 4 and Itanium 2 and released Version 7 of its compiler suite. On the Windows side, there is the plugin compability to the .NET enviroment, on the Linux side better compability to the GNU compiler, including the Common C++ ABI.
As usual, there are 30-days evaluation copies and for Linux an unsupported non-commercial version after previous registration at the Intel Evaluation Centre. According to the comments published by Intel marketing, Dr. Fons Rademakers, CERN, claims high compability with GCC 3.2 and a performance increase of up to 30% on their code (The ROOT System)."

47 comments

  1. Doubtful by I+Am+The+Owl · · Score: 1, Troll

    I doubt that such a compiler would be any faster than the Free gcc compiler. Sure, Intel makes the chips, but they have not had the advantage of thousands of software experts and academics being able to look over their code and fix bugs. I wouldn't trust it at all, especially not a .0 release. I'm surprised that commercial companies even use this when there is a far superior alternative available for Free.

    --

    --sdem
    1. Re:Doubtful by jericho4.0 · · Score: 4, Interesting

      As I understand it, Intels compilers kisk ass. Faster compilations, faster code, smaller code, etc. Not to knok a great product in GCC, but Intels engineers are no slouches.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    2. Re:Doubtful by PD · · Score: 1

      gcc actually is pretty crappy for optimization. gcc is a portable compiler and getting it to be fast on all platforms is hard.

    3. Re:Doubtful by Anonymous Coward · · Score: 0

      Right, except that GCC is slow as shit. Nice troll, though.

    4. Re:Doubtful by jkc120 · · Score: 1

      I wouldn't trust it at all, especially not a .0 release.

      Uhm, it's not a Redhat release, don't be so pessimistic :)

      --
      "I drank what?" -Socrates
    5. Re:Doubtful by JohnFluxx · · Score: 2

      Just a really quick note that they aim for slightly different goals. GCC is cross-platform etc, and icc isn't.

    6. Re:Doubtful by selectspec · · Score: 4, Insightful

      gcc in some areas produces slower code than the native compilers.

      The fact is that gcc is designed for cross platform compilation and the native compilers are not. The abstract tree approach to gcc's design is somewhat limiting for some arch specific operations, and certainly adds complexity to the compiler development process.

      Also, Intel and Sun have spent many millions of dollars on their compilers over the years. You get what you pay for.

      However, I would hesistate to use the intel or sun compiler for a project.

      Using a platform specific compiler ties your project down to a single architecture, defeating one of the major purposes of C/C++.

      A far better approach, if practical, is to isolate the real performance sucking areas (encryption, xor routines, float ops, etc), and write these sections in assembly. Those sections will become platform specific, but will smoke any compiler output.

      --

      Someone you trust is one of us.

    7. Re:Doubtful by Anonymous Coward · · Score: 0

      nice troll.

    8. Re:Doubtful by mcbevin · · Score: 2, Insightful
      A far better approach, if practical, is to isolate the real performance sucking areas (encryption, xor routines, float ops, etc), and write these sections in assembly. Those sections will become platform specific, but will smoke any compiler output.


      I use the Intel compiler on Linux. The program I work on when compiled with it runs around 50% faster than gcc. But in general, use whatever suits your particular needs, and just make sure you use standard C/C++ and it'll still be compatible. If you're not sure, check occasionally that it still compiles with other compilers.

      Personally theres no way I'd go near assembly. That pretty much guarantees unmaintainability, unreadability, platform-dependance. I don't know how many hours I've had to waste working out what someone else's assembly is doing, converting it to readable C, and then having understood what its doing, optimised the C algorithm to make it faster than the assembler ever was.

      I've also used the Intel Compiler's Intrinsics to MMX-optimise my code without a line of assembler. I've tested the code to be just as fast as hand-coded assembly equivalents. I also always create an identical pure-C/C++ function, so its clear exactly what is being done, and can still be compiled on other compilers/platforms. This is necessary in any case so that the code will run on non-mmx (pre P-III) systems.

      I'm looking forward to testing the version 7.0 Intel compiler - my experience with version 6.0 was that it made programs faster than gcc but still slower (and a lot bigger) than Visual Studio .net. If 7.0's better I might be able to leave Microsoft behind :).

    9. Re:Doubtful by noselasd · · Score: 1

      Remember that gcc is not only for x86. icc hardly produces faster code than gcc on an Alpha.

    10. Re:Doubtful by Anonymous Coward · · Score: 0

      It's actually better now to let the compiler do optimizations for you. The compiler can take into account significantly more code (thousands or millions of instructions) than even a seasoned assembly programmer can. It will have more sophisticated register scheduling too. Assembly programmers simply can't keep track of as many operations simultaneously as the compiler.

      Techniques such as template metaprogramming and expression templates can remove control structure and good template metaprogrammed code will be VERY fast with no overhead and very good cache performance.

    11. Re:Doubtful by Anonymous Coward · · Score: 0

      Using a native compiler does NOT tie you to a specific architecture. Using compiler-specific code does tie you to a specific compiler. The Intel C++ compiler is VERY standards-compliant, probably moreso than GCC, even 3.2. Intel includes the Dinkumware C++ Standard Library and it is known to be one of the most standard-compliant libraries available.

      One can create code that is just as tied to GCC as Intel. The only difference is that GCC runs on a skillion platforms whereas Intel C++ only runs on x86.

    12. Re:Doubtful by Anonymous Coward · · Score: 0

      I doubt that it would be difficult to port ICC to Alpha. In many compilers, the code generator is the last thing that runs and it is a fairly modular piece of the compiler.

      The majority of optimization is platform independent and most compilers don't actually work with the assembly code until after most of the optimizations are done. By code-generation time, the only thing left is register scheduling and even that is pretty platform independent.

    13. Re:Doubtful by Anonymous Coward · · Score: 0

      First you say:

      Using a platform specific compiler ties your project down to a single architecture, defeating one of the major purposes of C/C++.

      Then you come up with:

      A far better approach, if practical, is to isolate the real performance sucking areas... and write these sections in assembly.

      Woo-eee! Welcome to the alpha quadrant, selectspec!

      Changing a couples lines in an autoconf file compromises cross-platform compatibility! If you're going to do that, might as well write a couple thousand lines of assembly, because, you know, once cross-platform compatibility is gone, it's gone.

      I see you're enjoying your stay on Earth -- you've already found the crack! :)

  2. Well... by bic2k · · Score: 3, Informative

    I just downloaded the new intel compiler for windows. Tested it with a opengl application I made that runs really slow. The difference between the microsoft c++ compiler and the intel one is about 15%. Not quite 30%, but that probably applies to particular situations...

    --
    --- its to bad about the monkey, I kinda liked them
    1. Re:Well... by Anonymous Coward · · Score: 0

      So the Microsoft compiler is that much faster than the Intel one? Thanks.

    2. Re:Well... by Anonymous Coward · · Score: 0
      I don't know who is stupider -- the moderator that called that drivel "interesting", or you for expecting a performance increase in an opengl application.

      Next time, try comparing code that doesn't spend most of its time calling slow, external library routines

    3. Re:Well... by Anonymous Coward · · Score: 0

      I'm surprised that the Microsoft compiler is 15% slower than Intel's compiler on Linux. I would have expected it to segfault much faster than that when you tried to run it.

      Note: reading the article can help provide much needed context to quotes like:

      "Intel C++ Compiler for Linux produces executables that run 30% faster than ones produced by gcc 3.2"

  3. Gentoo support? by crow · · Score: 4, Interesting

    What would be really cool would be if a source distribution like Gentoo would support this in addition to gcc. Perhaps they could set it up to first try building with the Intel compiler, and if any errors show up, then try with gcc. It would certainly be interesting to see how well such a system would run.

    1. Re:Gentoo support? by GreyWolf3000 · · Score: 4, Informative

      It's not in CVS yet (server down, other issues), but Linux from Scratch builds GCC 3.2.1 for most people out of the box with the same commands as 3.2. Also, many have reported that they have built LFS with glibc 2.3.1, and have experienced huge speed increases. I know a few on the IRC channels who have successfully built glibc 2.3.1 with no changes to the commands used in LFS 4.0. Note that GCC 3.2.1 is required for glibc 2.3.1.

      --
      Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
    2. Re:Gentoo support? by Anonymous Coward · · Score: 0

      He's talking about icc, fool.

    3. Re:Gentoo support? by GreyWolf3000 · · Score: 2

      Guys pay no attention to this, I meant to post it to the gcc 3.2.1 release article. Sorry for the mess up.

      --
      Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
    4. Re:Gentoo support? by photon317 · · Score: 4, Informative


      Gentoo has a package for icc, as well as gcc. BTW they had a working autobuild for gcc 3.2.1 two days before the slashdot announcement of the release :)

      --
      11*43+456^2
    5. Re:Gentoo support? by Anonymous Coward · · Score: 0

      debian unstable has been on glibc 2.3.1 for a while but gcc 3.2.1 just showed up in incoming.debian.org...

    6. Re:Gentoo support? by Ed+Avis · · Score: 2

      And they could have the Watcom and Borland compilers too... ideally a single front end 'cc' with common command-line flags which can run any of the four compilers. I think that Watcom is now free software, so it might be a better choice than Intel's compiler if not quite as fast.

      --
      -- Ed Avis ed@membled.com
  4. I would like to use it... by d2002xx · · Score: 0, Troll

    if it's open-sourced.

    1. Re:I would like to use it... by Anonymous+Brave+Guy · · Score: 2

      ...if it's a better product than the alternatives. But hey, I make my living doing this stuff, so maybe I can't afford to prefer OS as a requirement over performance, stability and other such trivia.

      Frankly, I couldn't give a **** if it's OS or not, because I'm never going to have time to read all the source and make sure I agree with it. I bet you aren't either. However, rather than assuming that anything closed source will be worse than the OS competition, I'm prepared to take a look at how it performs, evaluate it using meaningful criteria, and base my choices on the results.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    2. Re:I would like to use it... by cakoose · · Score: 1

      Frankly, I couldn't give a **** if it's OS or not, because I'm never going to have time to read all the source and make sure I agree with it. I bet you aren't either.

      The advantage of open source is not only that you can read the code, but that anybody can. Because of this, you can be somewhat more sure that development will continue for at least as long as you need it.

      However, rather than assuming that anything closed source will be worse than the OS competition, I'm prepared to take a look at how it performs, evaluate it using meaningful criteria, and base my choices on the results.

      I don't think that open source proponents automatically assume that a closed source alternative is worse in every way. They prefer open source for other reasons (one of them being the one stated above). I think that it is well known and accepted that GCC doesn't perform as well as the Intel or Microsoft compilers on the X86 architecture so nobody cares if you are "prepared to take a look at how it performs, [blah, blah, textbook definition of performance analysis, blah]".

    3. Re:I would like to use it... by Anonymous+Brave+Guy · · Score: 2
      The advantage of open source is not only that you can read the code, but that anybody can.

      But how is that, in itself, an advantage? If I buy a closed source product, I'm trusting that the developers have spent time looking over it to weed out any gremlins. With an open source product, unless I'm going to do it myself (which is rarely going to be the case) I'm trusting to others to do it then instead, and this time, the others are mostly volunteers in the same position as me already.

      Because of this, you can be somewhat more sure that development will continue for at least as long as you need it.

      I'm sorry, but I fail to see how that follows at all.

      I don't think that open source proponents automatically assume that a closed source alternative is worse in every way.

      Are you new around here? ;-)

      Seriously, I realise that open source potentially has many advantages. I was just responding to yet another slashbot post by someone who seems to think that OS => better and closed source => worse, and is apparently prepared to rule out what might be an excellent software product just because it's closed source.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  5. is this an article or an ad? by larry+bagina · · Score: 1, Flamebait
    Imagine that - the ad I'm viewing is for intel development tools.

    So slashdot runs articles for intel development tools and advertisements for intel development tools.

    At the same time.

    Cmdr Taco - how do you like being a whore?

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

    1. Re:is this an article or an ad? by Anonymous Coward · · Score: 0

      No shit. Normally, it's just a MS .net ad in a story about the latest windows exploit...

      But most everyday, there seems to be an "article" that sounds like a press release, and you can't help but wonder how much they paid to get it printed on slashdot.

      When they started running ads, they said it wouldn't affect their integrity. When they sold out to Andover.net, and then VA linux, they said it wouldn't affect their integrity.

      I guess what they meant was, "we don't have any integrity to begin with"

  6. How stable is the ABI? by abdulla · · Score: 1

    By looking at that site (quick glance), it doesn't seem that the ABI is as stable as it's been totted to be, there seems to be a lot of proposals for new ways of doing things and some open issues. Are these just minor ideas or could we see a version 2 ABI sometime soon in the future?

    1. Re:How stable is the ABI? by larry+bagina · · Score: 1
      i know gcc 3.2.1 was just released which fixes a few bugs in the 3.2.0 abi implementation. Ok, so that's unrelated.

      But, there will probably be updates to the abi in the future, as it has not yet been extensively tested in the real world.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    2. Re:How stable is the ABI? by cimetmc · · Score: 1

      I think for the moment, the main problem is that there are no good test suites to test ABI compliance. That's the reason why GCC is currently struggling. They think they have done it correctly, but then from time to time someone notices a new ABI bug.
      Anyway, the real world test will be when people try to actually link C++ libaries produced by compilers from different companies.

      Marcel

  7. Problems with the distribution files? by Anonymous Coward · · Score: 0

    I'm trying to install the free version for linux,
    but tar keeps giving errors like:

    tar: flexlm64/chklic: Wrote only 3584 of 10240 bytes
    tar: Skipping to next header
    tar: Archive contains obsolescent base-64 headers
    tar: flexlm64/END_USER_LICENSE: Wrote only 0 of 10240 bytes
    tar: Skipping to next header
    tar: flexlm64/HowTo.html: Wrote only 0 of 10240 bytes
    tar: Skipping to next header
    tar: flexlm64/INTEL: Wrote only 0 of 10240 bytes
    tar: Skipping to next header
    tar: Error exit delayed from previous errors

    any guesses?

  8. Intel's Linux compiler with Debian by benjamindees · · Score: 5, Interesting
    I just finished reading this interesting thread on the Debian developers' mailing list. They discuss all aspects of the Intel compiler, including AMD support, possibly adding packages to Debian non-free, and (most interestingly) using icc to compile Debian binaries for distribution.

    There are several speculative "requests" for a donation of a license to Debian for this purpose as well as a plea to Intel to release the suite in .deb format instead of just RPM. All in all it was an interesting read.

    --
    "I assumed blithely that there were no elves out there in the darkness"
  9. AMD by Per+Wigren · · Score: 4, Interesting

    How much faster will it be on AMD processors then?

    --
    My other account has a 3-digit UID.
    1. Re:AMD by Overand · · Score: 2, Funny

      So fast that your AMD chip overheats and you get pissed off and buy a P4...

    2. Re:AMD by Toraz+Chryx · · Score: 1

      ....which you then burn your "self" with.

  10. Building the kernel with it by SweenyTod · · Score: 3, Interesting

    Is GCC still the only compiler that can build the linux kernel sucessfully?

    --
    Alas gallinaceas de urbe bovis volo
    1. Re:Building the kernel with it by Anonymous Coward · · Score: 0


      The document linked below from Intel's website says:

      "As a demonstration of compatibility with gcc, Intel C++ 7.0 Compilers for Linux have successfully built and run the Linux kernels, Version 2.4.18, on IA-32 and Itanium processors using a limited number of temporary source patches. The temporary nature of these patches will be addressed in the future either by adding extensions to Intel compilers or by working with the Linux community to replace or reduce usage of less frequently used, non-standard language features in the kernel sources. Both efforts are currently underway."

      LinuxCompilersCompatibility702.pdf

      And also, you may be interested in my post regarding FreeBSD patches also ;o)

      --
      Dreamweaver Templates

    2. Re:Building the kernel with it by Ryu2 · · Score: 4, Informative

      It's doubtful that compiling any OS kernel with Intel's compiler will result in significant speed increases. Most architectural optimizations that the Intel compilers make that gcc doesn't lie in the area of SIMD instructions, and instruction scheduling to maximize pipelining, parallelism, etc. It will be very useful in areas such as graphics, multimedia, other heavy-duty computation, and the like, but not in a general purpose OS, where the instructions are mainly loads and stores of data.

      --
      There's 10 types of people in this world, those who understand binary and those who don't.
    3. Re:Building the kernel with it by Eil · · Score: 2


      Er, in all fairness the question had little to do with performance. He simply asked if the Linux kernel even *could* be compiled with anything but GCC. I believe the answer is still a very flat "no."

    4. Re:Building the kernel with it by Anonymous Coward · · Score: 0

      The documentation on the problems with kernel compilation are ambiguous. It's news to me that either arithmetic on function pointers is bad or gcc handles it improperly.

  11. FreeBSD kernel compile with icc by Anonymous Coward · · Score: 1, Informative


    Just for peoples reference, I came across these patches for the FreeBSD kernel (LINT) to get it going with icc.

    I haven't tried them yet but I would love to see the whole of FreeBSD compiled with icc. The speed increase would be very cool.

    icc_20020721.diff

    --
    Dreamweaver Templates

  12. Educational Use... by Anonymous Coward · · Score: 0

    Version 5 of Intels C++ and Fortran 90 compilers were free for educational use. This rather useful feature seemed to vanish in version 6 to a 30 daytrial. Has it returned in version 7 as being a student who works with F90 for simulations I'd like to be able to have a forton compiler on my machines at home. Having said that it is only $99 so i brought a licence for the windows one

    1. Re:Educational Use... by Anonymous Coward · · Score: 0

      http://developer.intel.com/software/products/globa l/academic.htm#student

      $30 for students