Slashdot reports that Intel has released version 8.0 of their C/C++ compiler for both Windows and Linux. This release has been rumored for a long time to contain better GCC source and binary compatibility.
Slashdot reports that Intel has released version 8.0 of their C/C++ compiler for both Windows and Linux. This release has been rumored for a long time to contain better GCC source and binary compatibility.
Reliable support for VisualC++.Net STL finally! But I still do get the occasional “missing exports that were generated by the copiler” problem when using full optimizations.
Wondering whether object code compiled with the icl8 could be linked into managed c++ apps via wrappers. I may just try it 😉
-magg
I would be interested in seeing performace tests between a intel compiled kernel and a gcc compiled kernel. $399 is not bad if their is a significant performance benefit.
Still it looses the meaning of open source and free software
I would be interested in seeing performace tests between a intel compiled kernel and a gcc compiled kernel. $399 is not bad if their is a significant performance benefit.
There is only a very slight advantage over GCC, and even with that, not all things can be compiled “out of the box” using Intels compiler.
IMHO, looking at GCC 3.4 and what could possible appear in future releases, it would not be a very wise investment purchasing Intels compiler.
Xfree doesn’t compile with it
IMHO, looking at GCC 3.4 and what could possible appear in future releases, it would not be a very wise investment purchasing Intels compiler.
Yes and no, because:
1) on one hand you can have the compiler for free as long as you use it for non-commercial purposes. So there is no investment in terms of money.
2) it has Fortran95 support, while gcc does not, and this is a drawback of gcc for the scientific community (please, don’t enter in discussions about the superiority of c++ against F95).
3) eventhough GCC 3.5 (I think) will have F95 support, some people need it now and not in two or three years, which again speaks in favor of Intel’s compiler.
Don’t think that I defend Intel and do not like GCC, it is just that in my case I need F95 support nowadays and not in the future, when I have finished my PhD :-). I clearly would prefer to have F95 in gcc, since then I would have the compiler I need on every platform and not just on Intel x86. Also gcc lacks nowadays of OpenMP support, which again is a drawback IMHO.
4)there are fewer copyright issues when using intel for commercial development
IMHO, looking at GCC 3.4 and what could possible appear in future releases, it would not be a very wise investment purchasing Intels compiler.
What “might” be is rather weak – waiting 2-3 years for mights is a long time in computer years. 🙂
Does anyone know about *BSD using Linux-compatibility? If Intel’s compiler would work on *BSD I’d be nearly GNU-free! Anyone have an idea on Intel’s C++ compiler on *BSD?
What the hell is that supposed to mean?
Anyway, I definately see a space for ICC. The performance improvent isn’t going to be huge for regular integer code (10% – 20% if that) but having a second standards complient compiler helps tremendously when it comes to doing development. Also, if you’re doing heavily numeric work, its might just be worth it to check out ICC for its auto-vectorization, which might save you the time of writing manual SSE2 code.
What it means is that I can link the libraries included with the compiler into my programs.
I’ve been reading threads on this subject at the Gentoo forums, and while promising, they apparently are having great difficulty in getting this to work at all.It’s definitely not for the inexperienced, and strictly for testing purposes, at least so far.I’ll be watching their progress, and at some point I might try it on a spare hard drive with a fresh Gentoo install, but until those with far more experience than me report at least some decent progress, I’ll be staying clear of ICC for Linux.
Robert Crawford
I’ve been playing around with it on my gentoo system, and found most things compile happily (Or compile at least, with lots of errors). Everything still seems to work, but I’m only playing around over ssh, so I couldn’t say if it felt more responsive or quicker.
Kernel compiles fail with catostrophic errors, and I got a sandbox error while doing emerge system. Going to play with the emerge system a bit more later.
It’s certainly not possible to replace gcc completly with it in the current state, but if theres much performance increase it could be worth using as a default compiler, and only using gcc when it fails
all of the libraries you would need are in glibc, which is LGPL.
This seems to me to say that if you link to a lib you have to include yur source code. Very few commercial developers want to do that.
Agreed. And this is becoming more and more a problem. If only the FSF would do a “plain English” GPL and LGPL the endless interpretation would end. Unfortunately there appears to be no hope for that, as the “space” for RMS to change his mind seems to be part of the requirements for accepting this scheme. 🙂
This is why I use BSD and am hoping to move completely from GNU software – the “gray” areas are much too gray for my taste. I don’t like all EULAs either BTW, but I don’t see moving from one head-cracking license to another only to make free prototypes for the rest of the world.
“This release has been rumored for a long time to contain better GCC source and binary compatibility.”
This seems to be a good idea since the P4s were slaughtered by the G5s in GCC.
The LGPL, AFAIK, DOES NOT force you to include the code you linked _to_ the LGPL library, but DOES force you to reveal any changes you made to the library itself. That’s why many people despise the KDE licensing – it forces you to either open ALL your code or pay Trolltech.
As for performance, I saw some which suggested that ICC and GCC flip-flop for the lead depending on the test. Certainly, ICC is not going to turbo-charge your system.
-Erwos
it has Fortran95 support, while gcc does not, and this is a drawback of gcc for the scientific community (please, don’t enter in discussions about the superiority of c++ against F95).
Furthermore, ifc is the nicest Fortran 95 compiler I’ve ever used on x86. The others I’ve tried (namely the Portland Group compiler) are wreched and have rather pathetic performance. Combine this with the fact that ifc is free for educational use and there’s little reason to use any other Fortran 90/95 compiler on x86.
Theres nothing wrong with the portland group compiler, aside from it costing a lot of money. And while ifc is faster, with optimizations on at least, from what I’ve seen the difference was very minimal.
Theres nothing wrong with the portland group compiler, aside from it costing a lot of money. And while ifc is faster, with optimizations on at least, from what I’ve seen the difference was very minimal.
The problems with the Portland Group’s compiler are precisely the ones you enumerated: significantly worse performance, significantly higher price.
The Intel compiler is free for educational use, and produces much better binaries from the same code. For scientific computing within a university environment, there’s absolutely no reason not to use it.
We noticed a 40% increase in timestep values within the Regional Atmospheric Modelling System (http://atmet.com) after switching to ifc from version PGI HPF 4.0. I’d say that’s much more than a “very minimal” increase. RAMS is now GPL, so you can try it for yourself…
“This seems to me to say that if you link to a lib you have to include yur source code. Very few commercial developers want to do that.”
Incorrect:
“However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.”
Some time ago there was a topic on bsdforums.org about BSD and Intel Compiler.
Since my program is not normally distributed, does that then mean the source or object code has to be included?
Whatever, it doesn’t matter because the license is so confusing and interpreted variously (somewhere I heard that Stalman claimed even dynamic linking to a lib would put your program under GPL — true or not, why chance it?) that any commercial enterprise is not going to take the chance.
You’re both misinformed. I’d like to use stronger wording, but hey, its the holidays.
A) The GPL and LGPL are in legalease because they are legal licenses. A “plain english” version of the licenses would be useless. And the FSF didn’t just dream the licenses up — they had lawyers write it. And the only person who can legally sue you over it anyway would be the original copyright holder. Do you think the FSF (the sole copyright holder for GCC) is going to sue you for compiling proprietory code with GCC when they have allowed that practice on numerous occasions, and indeed explicitly say it is okay in several places?
B) The LGPL doesn’t require you to distribute sources if you link: (from the preamble)
“We use this license for certain libraries in order to permit linking those libraries into non-free programs.”
In fact, the whole point of the LGPL is to allow you to use LGPL’ed libraries in proprietory applications.
C) The GPL does count when you’re dynamically linking. That’s because, logically, your app is a derived work. You can make a very functional 10,000 line app using Qt, but its definately going to be a derived work. Otherwise, the GPL would be useless, you could just take out the functions you want to steal and put it into a dynamic library.
It is repeatedly explained that compiling your code with GCC doesn’t GPL your work. Dozens of commercial companies use GCC for their code, especially in the embedded market, where the only other option is often a $10,000 proprietory compiler. They seem to think its clear enough to use, so I don’t see why you think otherwise. In fact, I’d go so far as to say that you’re purposefully spreading bullshit (screw the holidays!) because you’ve got an anti-GPL agenda. Nobody could possibly be that ignorant.
You’re both misinformed. I’d like to use stronger wording, but hey, its the holidays.
A) The GPL and LGPL are in legalease because they are legal licenses. A “plain english” version of the licenses would be useless. And the FSF didn’t just dream the licenses up — they had lawyers write it. And the only person who can legally sue you over it anyway would be the original copyright holder. Do you think the FSF (the sole copyright holder for GCC) is going to sue you for compiling proprietory code with GCC when they have allowed that practice on numerous occasions, and indeed explicitly say it is okay in several places?
B) The LGPL doesn’t require you to distribute sources if you link: (from the preamble)
“We use this license for certain libraries in order to permit linking those libraries into non-free programs.”
In fact, the whole point of the LGPL is to allow you to use LGPL’ed libraries in proprietory applications.
C) The GPL does count when you’re dynamically linking. That’s because, logically, your app is a derived work. You can make a very functional 10,000 line app using Qt, but its definately going to be a derived work. Otherwise, the GPL would be useless, you could just take out the functions you want to steal and put it into a dynamic library.
It is repeatedly explained that compiling your code with GCC doesn’t GPL your work. Dozens of commercial companies use GCC for their code, especially in the embedded market, where the only other option is often a $10,000 proprietory compiler. They seem to think its clear enough to use, so I don’t see why you think otherwise. In fact, I’d go so far as to say that you’re purposefully spreading bullshit (screw the holidays!) because you’ve got an anti-GPL agenda. Nobody could possibly be that ignorant.
The problems with the Portland Group’s compiler are precisely the ones you enumerated: significantly worse performance, significantly higher price.
And not only that. One of the things that delayed my switch to linux for software development (before I was using the Compaq Visual Fortran under Windows) was that the compiler from Portland does not really check the correctness of your code, so developing with it is really a pain because it never complains (similar to my experience in the past with C compilers: just too much unsupervised freedom).
Intel’s compiler was also not great at the beginning, but with 7.1 it got much better and AFAIK 8.0 is reaching in this aspect some kind of maturity (since it is using now the frontend of the Compaq compiler, which I like a lot).
And comparing the intel compiler with gcc, people at my department still programming in Fortran 77 love ifc because of the much better I/O performance (they make huge computations where the files are of 2GB size).
I would love to try Lahey’s compiler for software development, since it is extremely good in checking software (see http://www.polyhedron.co.uk for a nice comparison), but since they don’t have a free (or very low price for poor PhD students) version, I will have to continue with ifc for development and for running.
>There is only a very slight advantage over GCC, and even with that, not >all things can be compiled “out of the box” using Intels compiler.
It depends on what you’re compiling and which processor you’re using.
http://www.coyotegulch.com/reviews/intel_comp/intel_gcc_bench2.html
This shows icc being around 20% faster all round for P4,
http://www.aceshardware.com/read_news.jsp?id=75000387
Here is another benchmark showing the effects of using icc’s use of SSE
extentions (auto-vectorisation).
So, if your target platform is P4 and your code makes heavy use of fp
then icc is certainly worth evaluating.
We’ve had very bad experiences in our production environment using gcc on Solaris, I’m not sure what IA exerience is. Upgrade to gcc 3.1 was a nightmare, and it still has enough bugs that we cannot enable O2 – by comparison, SunPro produces better performing sparc and is not buggy. I simply don’t trust recent gcc versions for production systems any more. I lobbied against upgrade from 2.95 to 3.1, but was overrulled: and we payed the penalty. Now we’re moving everything to SunPro. So I see that gcc/g++ works well on IA and for Linux and portability, but just don’t be too hasty in thinking that upgrade to gcc 3.4 will buy anything substantial.
The rule of thumb is:
– gcc works across many platforms, but doesn’t perform well on any particular platform
– the vendors compiler performs much better, but just isn’t portable
Just because I wouldn’t trust GCC fo commercial work doesn’t mean that I am against anyone else using it. Perhaps I am not cognizant of all the facts, but there are various readings out there and I am not lawyer enough to read the license with any certainty, however I am not trying to spread bullshit. Having grown up on a farm I decided long ago to avoid that kind of work. It is a pity others hadn’t. I am however grateful that you have assumed I am NOT ignorant. I admit that I may be unknowledgable. Still, not any more so than a lot of programmers who have decided on their own not to use GNU tools. I might point out to you that the word ‘ignorant’ has negative connotations. Obviously you didn’t know that because I’m sure you would not wish to insult people who you don’t know, and from an unreachable distance. I personally think that such behavior is obnoxious and totally rude, don’t you?
ICC has long been my favorite C ++ Compiler for Windows and Linux. The only problem is the price but the cost is what will hold this down. But Intel offers the compiler and tools for Linux users for free lets hope they do this for Windows soon, QT also is the only one as well that does not offer their tools for free.
A “plain english” version of the licenses would be useless.
But a plain english version explanation side by side would be useless? Face it you have no case here – the obfuscation in the licenses is obvious and purposeful. Ask a question on the “meaning” of one of points and you’ll get thirty opinions FROM OSS advocates, not detractors.
EVERYONE knows that GCC use doesn’t require GPL on the result – otherwise *BSD advocates would never use it (which they often do). It is you, my friend, who are spreading BULLSHIT if you claim that “dynamic loading” with the LGPL has been settled, as no court case has as yet settled anything. Staying away from the GCC is for me a matter of ethics – I prefer to pay for what I use and avoid the dodgy characters at the FSF.