On Monday a wonderful piece of news reached me:
PathScale Open-Sources The EKOPath 4 Compiler Suite
An high performance C++ compiler is being Open-Sourced and I am going to give it a try as it promises GNU/Gcc compatibility and according to some earlier posts the performance seems to be really good.
Dirndl On Intel's Sandy (Bridge) Is Hot
The "Dirndl" On AMD Opterons Are Impressive
Final Linux Benchmarks Of Project Dirndl
If the performance can compete with icc and the compatibility with gcc is at least the same (which is not that hard) it could become my compiler of choice.
In this blog I want to track the progress of my efforts on building an complete Gentoo system with Intels C Compiler icc. I am going to share my results so that everyone interested in this subject can use them.
Support Gentoo-Icc
Just email me
Mittwoch, 15. Juni 2011
Freitag, 20. Mai 2011
Portage-Icc overlay
I don't have any place to put an permanent file to yet so I just post the zipped version of the overlay for this time. I hope it will stay online long enough.
http://www.2shared.com/file/YKtJyY1L/portage-icc.html
New packages:
Note: The open-vm-tools ebuild contains an patch which extends the sources with inline assembly support for icc but is currently not used because of an compile time error. Until the source patch is ready the -no-gcc flag is replaced by the -gcc flag in the ebuild.
http://www.2shared.com/file/YKtJyY1L/portage-icc.html
New packages:
- dev-libs/glib-2.28.6
- app-emulation/open-vm-tools-0.0.20110328.387002-r2
- sys-apps/coreutils-8.7
- sys-apps/sysvinit-2.88-r1
- sys-libs/zlib-1.2.5-r2
- sys-libs/ncurses-5.7-r7
Note: The open-vm-tools ebuild contains an patch which extends the sources with inline assembly support for icc but is currently not used because of an compile time error. Until the source patch is ready the -no-gcc flag is replaced by the -gcc flag in the ebuild.
Basic system configuration
Here is my basic configuration of gentoo-icc:
/etc/make.conf
/etc/env.d/10icc
Icc
Some packages already compile fine with this configuration but others need either ebuild changes or patches or both. I am going to post these in an seperate thread for my overlay.
/etc/make.conf
# These settings were set by the catalyst build script that automatically # built this stage. # Please consult /usr/share/portage/config/make.conf.example for a more # detailed example. #CFLAGS="-O2 -march=i686 -pipe" #CXXFLAGS="${CFLAGS}" # WARNING: Changing your CHOST is not something that should be done lightly. # Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing. CHOST="i686-pc-linux-gnu" USE="symlink -X -doc -ipv6" MAKEOPTS="-j2" FEATURES="parallel-fetch" # ICC (no optimizations) CC="icc" CXX="icpc" CFLAGS="-O2 -no-gcc -w -opt-report-file=/dev/null -fPIC" CXXFLAGS="$CFLAGS" PORTDIR_OVERLAY="/usr/local/portage-icc"
/etc/env.d/10icc
PATH="/opt/intel/Compiler/11.1/056/bin/ia32/" ROOTPATH="/opt/intel/Compiler/11.1/056/bin/ia32" LDPATH="/opt/intel/Compiler/11.1/056/lib/ia32"
Icc
dev-lang/icc-11.1.056-r1 USE="idb -eclipse -ipp -mkl"
Some packages already compile fine with this configuration but others need either ebuild changes or patches or both. I am going to post these in an seperate thread for my overlay.
Blog opened
So this is it - my first blog. As everyone could guess this blog is about how far I am getting with building an Gentoo system completely with icc. I want to share my results for future reference and for those of you who are this much willing to experiment with Linux like me.
How long I can keep posting or how frequently it will be is another subject on which I can't make any promises.
I already set up two virtual machines using VMWare Player which contain identical running base systems of Gentoo in the current version. On the first machine (gentoo-icc) I am going to replace all packages with their icc-compiled versions. This includes such "basic" packages as glibc (which is highly depending on gcc) and also open-vm-tools (needed because of VMWare - which contains much inline assembly and other stuff).
My patches and ebuilds are held in an separate overlay which I will try to publish and update permanently.
I am not going to compile the Kernel with icc at this point as there is already an project covering this subject (www.linuxdna.com). But because linuxdna is not really up-to-date and their support is not the best I will have to get to this subject relatively soon.
After the base system is fully icc-compiled and functional I want to take a look at X11, it's video drivers and any software that goes beyond this point. But this could take a very long time.
I only got one note for you left before I start posting my first results:
Any use of data (patch/ebuild/variables ...) provided by this page is at own risk.
I will test all my patches but I cannot guarantee anything.
If your system crashes or you lose data because of anything provided on this site don't blame me ;-)
How long I can keep posting or how frequently it will be is another subject on which I can't make any promises.
I already set up two virtual machines using VMWare Player which contain identical running base systems of Gentoo in the current version. On the first machine (gentoo-icc) I am going to replace all packages with their icc-compiled versions. This includes such "basic" packages as glibc (which is highly depending on gcc) and also open-vm-tools (needed because of VMWare - which contains much inline assembly and other stuff).
My patches and ebuilds are held in an separate overlay which I will try to publish and update permanently.
I am not going to compile the Kernel with icc at this point as there is already an project covering this subject (www.linuxdna.com). But because linuxdna is not really up-to-date and their support is not the best I will have to get to this subject relatively soon.
After the base system is fully icc-compiled and functional I want to take a look at X11, it's video drivers and any software that goes beyond this point. But this could take a very long time.
I only got one note for you left before I start posting my first results:
Any use of data (patch/ebuild/variables ...) provided by this page is at own risk.
I will test all my patches but I cannot guarantee anything.
If your system crashes or you lose data because of anything provided on this site don't blame me ;-)
Abonnieren
Posts (Atom)