You are not logged in.
Can we use Intel C Compiler in Arch?
http://www.timelordz.com/blog/?p=134
Of course not to replace gcc but for fun!
Offline
You can use it for private use but you/we are not allowed to distribute binaries built with it.
Offline
BTW it is in AUR.
Offline
It's a cool compiler, at work we recompiled our mysql packages with the Intel compiler and noticed a performance gain. The license is a bit restrictive though. (compared to gcc) so I agree with Andy/Stefan: get it from aur, update your makepkg.conf and have fun
Last edited by Dieter@be (2008-11-17 18:27:00)
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
It's a cool compiler, at work we recompiled our mysql packages with the Intel compiler and noticed a performance gain. The license is a bit restrictive though. (compared to gcc) so I agree with Andy/Stefan: get it from aur, update your makepkg.conf and have fun
Happen to know how to change which compiler you use in makepkg.conf?
Offline
How many problems does one expect to run into to get programs to compile on ICC compared to gcc? Sounds like a great investment of time.
Offline
It's a cool compiler, at work we recompiled our mysql packages with the Intel compiler and noticed a performance gain. The license is a bit restrictive though. (compared to gcc) so I agree with Andy/Stefan: get it from aur, update your makepkg.conf and have fun
you ricers!!!
The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
--------------------------------------------------------------------------------------------------------------
But if they tell you that I've lost my mind, maybe it's not gone just a little hard to find...
Offline
Dieter@be wrote:It's a cool compiler, at work we recompiled our mysql packages with the Intel compiler and noticed a performance gain. The license is a bit restrictive though. (compared to gcc) so I agree with Andy/Stefan: get it from aur, update your makepkg.conf and have fun
Happen to know how to change which compiler you use in makepkg.conf?
To actually use ICC just put CC=icc and CXX=icpc on the command line before make or configure. http://macles.blogspot.com/2008/09/inte … -atom.html
Offline
I used it also for fun to try out the Intel Atom specific optimization flags. ICC installed really well from AUR, just read through the PKGBUILD and edit where neccessairy. You'll have to register on Intel's website to obtain a free license, but it's not a lot of work. Have fun!
Offline
Tido wrote:Dieter@be wrote:It's a cool compiler, at work we recompiled our mysql packages with the Intel compiler and noticed a performance gain. The license is a bit restrictive though. (compared to gcc) so I agree with Andy/Stefan: get it from aur, update your makepkg.conf and have fun
Happen to know how to change which compiler you use in makepkg.conf?
To actually use ICC just put CC=icc and CXX=icpc on the command line before make or configure. http://macles.blogspot.com/2008/09/inte … -atom.html
Sadly that doesn't work for makepkg.
Offline
Just change the environment variable CC. In a profile script or whatnot if you want it all the time. Look around in /etc to see if something is already setting it, and change that in that case.
Offline
Pacman and libalpm compile just fine out of the box with ICC, for what its worth. If a program is written in good C (meaning not using GNU-specific extensions) and is already portable across operating systems, it shouldn't be that big of a deal to get it to compile with ICC.
Offline
Be careful, though. Some apps fall flat on their face with ICC performance. x264 is one example - ICC does not preserve stack alignment, so x264 winds up with massive slowdowns. I would recommend not going all-out with everything ICC-compiled all at once, and instead slowly compiling groups of apps and testing.
Offline
Does anyone know how to pass options to icc when using makepkg? I've tried export ICCCFG="-xL -ipo -O3" with no luck.
Ignore me; you simply just have to pass them in the CFLAGS, when I tried this initially I didn't realize -ipo wasn't supported on my processor.
Last edited by pyther (2008-11-20 01:26:08)
Offline
1.) Use the time command? 'time (mygcccapp -options)', and then 'time (myiccapp -options)'.
Offline
A quick question, it seems I'm really stupid today.
Where do I set the compiler environment variables? I tried in PKGBUILD of a some package and in the /etc/makepkg.conf, but to no avail - the packages still compile with GCC.
Any help would be appreciated.
Only the best is good enough.
Offline
Offline
Hmm. This is interesting, although I've personally managed to compile the vanilla kernel 2.6.28 with the ICC, as well as the latest Arch and openSUSE kernels. This kernel version seems based on a bit old sources, no?
Just my $0.02...
Only the best is good enough.
Offline
How does the kernel compiled by ICC compares with the GCC one?
(lambda ())
Offline
Everything becomes magically faster
Kidding. There is a slight performance increase, particularly at the boot time, module and daemon loading and unloading, perhaps some more heavy-duty applications get loaded a bit faster. I haven't done any benchmarking, though, and I don't intend to.
Only the best is good enough.
Offline
I haven't done any benchmarking, though, and I don't intend to.
Perceived speed increase > actual optimization. Oh come on, what's so wrong with a bootchart. Is it really that disappointing?
Offline
It's not that, it's just the fact that it doesn't really bother me that much. My experiment with ICC was more like doing it for fun, than for some actual gain in anything other than personal satisfaction in the ability to say "I did it". Once I get bored with compiling with ICC, I will stop doing it. And it probably won't make me frustrated about the "poor performance of gcc-compiled apps compared to icc-compared apps".
As far as the boot time performance, well, you know that udev uevent loading time? Well, with icc-compiled kernel I have loading time of 1,3-1,4 seconds on average, while with the stock kernel it's about 2-2,4 seconds. And like I said, it's not about disappointment, but about not really caring anymore.
(Just for the reference, my CPU is Intel Dothan @ 1.6 GHz)
Only the best is good enough.
Offline
I compared icc and gcc kernels (2.6.28.7).
boot time measured with bootchart:
gcc was 1 sec faster than icc (16sec vs 17sec to kde) and I did not see any difference in overall system responsiveness. In fact it felt as disk needs a little bit more time to respond, when booted to icc kernel.
I used some optimization flags taken from for icc man pages
I edited kernel Makefile to force icc
the above flags may be not optimal for kernel building with icc (not much info about icc kernel compilation available)
it may be that icc has no effect on boot time
it may be that kernel needs some patching to take full advantage of icc
This has nothing to do with icc compiled apps being faster that gcc counterpart of course. Ideally would be to compare icc system vs gcc system. I bet that someone will do this in the future.
Offline
Most of the kernel code is written is assembly language, IIRC. Thus, there may be no real performance gain over gcc.
Try compiling some data-mincing application written in C/C++. For example, LAME encoder.
Only the best is good enough.
Offline