Changeset 1035
- Timestamp:
- 05/22/06 13:57:28 (3 years ago)
- Files:
-
- trunk/intel-c-compiler.txt (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/intel-c-compiler.txt
r1033 r1035 2 2 Daniel Baumann <daniel.baumann at panthera-systems.net> 3 3 4 DATE: 2006-05- 194 DATE: 2006-05-22 5 5 6 6 LICENSE: GNU General Public License … … 15 15 16 16 PREREQUISITES: 17 An Intel CPU ( this does not work with AMD or other non-Intel).17 An Intel CPU (Intel-clones/AMD may or may not work). 18 18 Glibc (icc is linked to /lib/ld-linux.so.2). 19 19 … … 34 34 http://gentoo-wiki.com/HOWTO_ICC_and_Portage 35 35 36 This compiler is not free, and there is no source provided.36 This compiler is not opensource. 37 37 38 38 This hint will give instructions to build supported software with ICC, so that … … 43 43 provided to enable profiling; this means compiling packages twice, but they 44 44 should run a bit faster. The difference between runtimes of a program compiled 45 with GCC, compared to ICC with profiling, varies between 2% and 22%.45 with GCC, compared to ICC with profiling, varies between 2% and 40%. 46 46 47 47 For even more performance, also see the prelink.txt hint, the optimization.txt … … 198 198 rm -f /usr/lib/libgcc_s.so* 199 199 200 # If you plan to use ICC to compile m ust of the LFS system, the runtime200 # If you plan to use ICC to compile most of the LFS system, the runtime 201 201 # library should be moved to /lib: 202 202 … … 213 213 export ICC_CFLAGS="-ip -xP -O3" 214 214 export ICC_CXXFLAGS="$ICC_CFLAGS" 215 216 # Interprocedural optimizations (IPO) is a fantastic feature which optimizes 217 # executables at link time. This allows the compiler to make better judgements. 218 # A similiar option was added to GCC-4.1, -fwhole-program --combine. Using this 219 # option is a bit touchy though. The -ipo flag can only be used on executables, 220 # and not static libraries. Almost every package has static libraries which are 221 # linked into the programs during the build. The HLFS book happens to use the 222 # -fpie option which has the same requirements. To use the ICC -ipo option, check 223 # the HLFS book for the sed commands which add -fpie to Makefile.in's. Replace the 224 # "-pie -fpie" with "-ipo". The sed command for each package is different. 225 # Unfortunetly these commands are not available for most of the BLFS packages. 215 226 216 227 # Run this to break GCC compatability (some packages need this): … … 241 252 # programs and generate profiling data. If you are able to run the programs better 242 253 # than how 'make check' does, then I suggest you do that. Then 'make clean', and 243 # finally make again with "-prof_use". You can run 'make check' again if you like,244 # and'make install'.254 # make again with "-prof_use". You can run 'make check' again if you like, and 255 # finally 'make install'. 245 256 246 257 # In general, use this: 247 258 248 259 env CFLAGS="$ICC_CFLAGS -prof_gen -prof_dir=$(pwd)" \ 249 CXXFLAGS="$ICC_C FLAGS -prof_gen -prof_dir=$(pwd)" LC_ALL="C" \260 CXXFLAGS="$ICC_CXXFLAGS -prof_gen -prof_dir=$(pwd)" LC_ALL="C" \ 250 261 LANG="en" LANGUAGE="en" CC="icc" CXX="icpc" ./configure... 251 262 252 263 # Then 'make && make check && make clean', and final build with: 253 264 254 make CFLAGS="$ICC_CFLAGS -prof_use -prof_dir=$(pwd)" \ 255 CXXFLAGS="$ICC_CFLAGS -prof_use -prof_dir=$(pwd)" 256 257 # Then 'make install'. 265 env CFLAGS="$ICC_CFLAGS -prof_use -prof_dir=$(pwd)" \ 266 CXXFLAGS="$ICC_CXXFLAGS -prof_use -prof_dir=$(pwd)" LC_ALL="C" \ 267 LANG="en" LANGUAGE="en" CC="icc" CXX="icpc" ./configure... 268 269 # Then 'make && make install'. 258 270 259 271 # DB can not be compiled with ICC. … … 308 320 # And 'make' and 'make install'. 309 321 322 # Warning! Building Perl with profiling has frozen my desktop, beware. 310 323 # Perl can compile with ICC profiling. After 'make distclean' you will have to 311 324 # run ./configure again, substituting -prof_gen with -prof_use. … … 597 610 [2006-05-19] 598 611 * Run 'make check' after building with prof_gen, to generate profiling data. 599 612 [2006-05-22] 613 * Added notes for the -ipo option.
