Intel Compiler 10 Success!

Compiling, libraries, modules, coding guidelines and porting

Moderators: jesterKing, stiv

Post Reply
mpan3
Posts: 0
Joined: Wed Mar 24, 2004 7:16 pm

Intel Compiler 10 Success!

Post by mpan3 »

In my endless quest for more performance and sloppier floating point math, I have finally gathered enough courage to test drive the Intel Compiler 10 for IA32. Surprisingly it compiled Blender pretty much on my first try (with VS 2005).

Here is the binary:

http://mpan3.homeip.net/f/IntelCompilerBundle.exe


I havn't tested to make sure everything is stable yet, but so far it looks promising.

disclaimer:
I have a legal copy of VS 2005, but Intel Compiler is the trial version.

I have 3 version of the Blender Binary:

_C2D.exe are optimized for 65nm Intel Core 2 Duo/Quad CPUs (SSE1, SSE2, SSE3, SSSE3)

_Pentium.exe are optimized for 65/90nm Intel Pentium Ds, Celeron Ds, Core Duo, Core solo, (SSE1, SSE2, SSE3)

_SSE3.exe are optimized for any Intel/AMD CPU with support for SSE3 (SSE1, SSE2, SSE3)

Jens
Posts: 0
Joined: Sat Aug 26, 2006 7:24 pm
Location: Hamburg, Germany

Post by Jens »

Hi Mike
Started builing with ICC on OSX now. Good results.
The builds are around 20% faster than with GCC ( 4.0.1 Apple ).
OMP gives a good boost for fluids and cloth, speed is more than
doubled on a 4-core.

2 questions:

1. Is it o.k. to publish builds made with the evaluation-copy of ICC
at GRAFICALL or are there legal hurdles ? ( OSX-version is not free )

2. What flags did you use ? I ended up with: -ansi-alias -O3 -axT - parallel
This is intended for Xeon/ Core2Duo. Do you think this can be improved ?
The generall speed could be higher i think, but maybe these are illusions.

Greetz...Jens

nobulart
Posts: 0
Joined: Thu Apr 24, 2008 3:52 pm

Post by nobulart »

Hi Jens

Please would you share your ICC build method with me? Did you compile it successfully with OpenMP and as a 64-bit app? I've been positively salivating at the thought of using all of the cores on my Mac Pro for fluid sims.

I'm only really familiar with building blender using SCons, but I'll give any build system a try if you don't mind explaining it a little...

Your help would be hugely appreciated (again)

UPDATE:

I've managed to get it to compile everything using CMake, Xcode and ICC. Build fails on linking with the following error:
(I had QuickTime support disabled when generating the config with cmake)

Code: Select all

Ld /Users/craig/blender/svn/bf-blender/bin/Release/blender.app/Contents/MacOS/blender normal x86_64
    mkdir /Users/craig/blender/svn/bf-blender/bin/Release/blender.app/Contents/MacOS
    cd /Users/craig/blender/svn/bf-blender
    /usr/bin/icc-10.1-base/bin/icpc -o /Users/craig/blender/svn/bf-blender/bin/Release/blender.app/Contents/MacOS/blender -L/Users/craig/blender/svn/bf-blender/bin/Release -L/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config/Release -L/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/sdl/lib/Release -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/sdl/lib -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/jpeg/lib/Release -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/jpeg/lib -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/png/lib/Release -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/png/lib -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/openexr/lib/Release -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/openexr/lib -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/gettext/lib/Release -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/gettext/lib -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/freetype/lib/Release -L/Users/craig/blender/svn/blender/../lib/darwin-8.x.i386/freetype/lib -L/Users/craig/blender/svn/bf-blender/lib/Release/Release -L/Users/craig/blender/svn/bf-blender/lib/Release -F/Users/craig/blender/svn/bf-blender/bin/Release -F/Library/Frameworks -filelist /Users/craig/blender/svn/bf-blender/bin/Blender.build/Release/blender.build/Objects-normal/x86_64/blender.LinkFileList -arch x86_64 -fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Carbon -framework AGL -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework QuickTime -Wl,-search_paths_first -headerpad_max_install_names /Users/craig/blender/svn/bf-blender/lib/Release/libsrc.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_decimation.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_BSP.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_soundsystem.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_ghost.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_string.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_render.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_radiosity.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_ONL.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_python.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_blenkernel.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_nodes.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_blenloader.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_blenpluginapi.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_imbuf.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_blenlib.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_avi.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_cineon.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_openexr.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_readblenfile.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_bop.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_kernel.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_elbeem.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_yafray.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_IK.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_memutil.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_guardedalloc.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_CTR.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_moto.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_bmfont.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_ftfont.a /Users/craig/blender/svn/bf-blender/lib/Release/libextern_ftgl.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_blroutines.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_converter.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_dummy.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_bullet.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_common.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_ketsji.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_logic.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_rasterizer.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_oglrasterizer.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_expressions.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_scenegraph.a /Users/craig/blender/svn/bf-blender/lib/Release/libkx_network.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_ngnetwork.a /Users/craig/blender/svn/bf-blender/lib/Release/libextern_bullet.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_loopbacknetwork.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_sumo.a /Users/craig/blender/svn/bf-blender/lib/Release/libextern_solid.a /Users/craig/blender/svn/bf-blender/lib/Release/libextern_qhull.a -framework OpenGL -framework AGL -u __dummy -u _PyMac_Error -framework System -framework Python -ljpeg -lpng -lz -lSDL -lstdc++ -lSystemStubs -lfreetype -lintl -liconv -framework OpenAL -lIex -lHalf -lIlmImf -lImath -lIlmThread /Users/craig/blender/svn/bf-blender/lib/Release/libbf_decimation.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_elbeem.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_yafray.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_IK.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_memutil.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_guardedalloc.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_CTR.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_moto.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_bmfont.a /Users/craig/blender/svn/bf-blender/lib/Release/libsrc.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_ftfont.a /Users/craig/blender/svn/bf-blender/lib/Release/libextern_ftgl.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_blroutines.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_converter.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_dummy.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_bullet.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_common.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_ketsji.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_logic.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_rasterizer.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_oglrasterizer.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_expressions.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_scenegraph.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_moto.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_blroutines.a /Users/craig/blender/svn/bf-blender/lib/Release/libkx_network.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_kernel.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_ngnetwork.a /Users/craig/blender/svn/bf-blender/lib/Release/libextern_bullet.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_loopbacknetwork.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_sumo.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_common.a /Users/craig/blender/svn/bf-blender/lib/Release/libextern_solid.a /Users/craig/blender/svn/bf-blender/lib/Release/libextern_qhull.a /Users/craig/blender/svn/bf-blender/lib/Release/libbf_moto.a /Users/craig/blender/svn/bf-blender/lib/Release/libblender_python.a -framework OpenGL -framework AGL -u __dummy -u _PyMac_Error -framework System -framework Python -ljpeg -lpng -lz -lSDL -lstdc++ -lSystemStubs -lfreetype -lintl -liconv -framework OpenAL -lIex -lHalf -lIlmImf -lImath -lIlmThread -dev-usr-root=/Developer/usr -parallel -openmp "" ""
ipo: warning #11023: file format not recognized for /System/Library/Frameworks/QuickTime.framework/QuickTime
(0): internal error: 0_0

icpc: error #10014: problem during multi-file optimization compilation (code 4)


Post Reply