Support Gentoo-Icc

Every support which has to do with icc and Linux or Gentoo is highly appreciated.
Just email me

Mittwoch, 15. Juni 2011

New promising compiler in sight

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.

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:
  • 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
# 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 ;-)