- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We are planning to use icc compiler instead of existing gnu compiler. Though the icc compiler states that libraries compiled with gnu are compatible to use with icc. But we would prefer to re-compile the open source codes for ldap, xerces and openssl code with icc compiler.
So I would like to know if someone has experience of compiling these
open source codes with icc compiler? Are there any known
issues that needs to be taken care of during compilation with icc? Do
the make file providedwith the code has flags to changes the compiler to icc.
Pointer to any documents such as readme or instructions to followed
for compiling the open source codes for ldap, xerces and openssl ldap c
code with icc compiler would help.
Also in the intel compiler documentation i always see documentation
about compatibility with gcc compilers. But i have never seen
documentation about migration from gcc to intel complier. Pointers to
such documents which provides information about consideration for
migration to icc compiler would also help.
Thanks,
Vijay
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A few of the icc command line options are accepted with the gcc names. Perhaps there should be a more accessible documentation of a few of the common differences, e.g.
1) gcc defaults to -O0, while icc defaults to -O2, except when -g is set. icc -O is the same as -O2, while gcc -O is like -O1.
2) icc -fp-model fast (the default) is somewhat analogous to gcc -ffast-math. More reliable usually, but also more aggressive. -fp-model precise is closer to what you get from gcc without -ffast-math.
3) 32-bit icc defaults to code for an Intel CPU which is long out of production. The most commonly used option, -xW, has about the same effect as gcc -march=pentium4 -ftree-vectorize -mfpmath=sse.
4) the system for profile (feedback) guided optimization is different.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Regarding: "3) 32-bit icc defaults to code for an Intel CPU which is long out of production".. Which CPU is that? and does the windows comiler do the same, if so, which one?
Sorry for hijacking this thread, hope your problems will be solved, vijay_jain
TZ
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Documentation onmigrating gcc apps to Intelis planned forthe 10.0 release.
-Rick
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have a white paper 'Intel Compilers for Linux* - Compatibility with GNU Compilers' at http://cache-www.intel.com/cd/00/00/28/47/284736_284736.pdf. In general, you shouldn't need to make source changes to use icc vs gcc. There are a few obscuregcc language extensions that icc doesn't support, but most gcc language extensions are supported. For C++ you might need to make minor source code changes dealing with template code that do not follow the C++ standard. The Intel Compiler matches the behavior of the particular version of gcc you are using, but it's possible you may find a corner case that hasn't been covered. I recently worked on a mult-million line enterprise C++ application, and porting to icc boiled down to 6 source changes, all of these dealt with code not following the C++ standard, with simple source code changes.
I've built Xerces with icc for many years, and the Xerces configuration files support icc. I also downloaded & built openssl.Here's how to build the latest version, I did this on IA-32 with icc 9.1.045:
$ export XERCESCROOT=`pwd`
$ cd src/xercesc/
$ ./runConfigure -x icpc -c icc -p linux > runConfigure.log
$ gmake >& gmake.log &
Downloaded from http://www.openssl.org/source/openssl-0.9.8d.tar.gz
tar zxvf openssl-0.9.8d.tar.gz
cd openssl-0.9.8d
./Configure linux-ia32-icc
make >& gmake.log &
I haven't builtldap or ran Xerces or openssl, but ifyou run into problems you can post. Do you have benchmarks or workloads that you use to evaluate performance of these packages ?
Regards,
_|ohnO
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page