internal error: 0_1555

internal error: 0_1555

Hi,

I've tried to use the Intel C++ Compiler 8.0 evaluation to see if I could get better performance in a dynamics simulation than I get with Visual Studio.NET 2003. Some projects in my solution compiles just fine with the Intel compiler, but in one of the projects I have two files which I cannot compile unless I disable optimization. Since it is the optimizations I'm hoping to use, this is causing me some problems.

These files produce the following type of compiler output:

Compiling with Intel C++ 8.0

SimEngine.cpp

(0): internal error: 0_1555

compilation aborted for .SimEngine.cpp (code 4)

This is the command line for the compilation:

/c /Qvc7.1 /Qlocation,link,"C:Program FilesMicrosoft Visual Studio .NET 2003Vc7/bin"/O2 /FD /ML /I "..include" /I "..includesimengine" /I "..includexmlwriter" /nologo /W3 /D "WIN32" /D "NDEBUG" /D "_LIB" /D "XERCES_STATIC" /D "_MBCS" /Fo"Release Intel P4/" /Fd"Release Intel P4/vc70.pdb" /Gd /TP

Does anyone on this board know what might be causing this internal error 0_1555 ?

All suggestions are very welcome...

7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi,

Could you file an issue to Premier Support? If not, I can detail the steps to isolate the problem (cutting down the code)with a tool coming with the compiler.

Thanks,

Jennifer

Sorry - my trial license has expired :/

It is the ICPI tool you would use to cut down theerror generatingcode, right?

I'm sorry to say, that the other components I've tested the 8.0 compiler on where not able to out-perform my visual studio 2003 on a P4 using the /ARCH:SSE2 switch.So I'm sticking to visual studio 2003 for now.

Yes, you're right about icpi.

You may want to try those options on your program to see if it boosts the performance -Qipo -O3 -QxN.But it doesn't always increase the performance, it depends on the type of program you have.

Let me know if you'd like to try more, I can send you another eval license.

Thanks,

Jennifer

Hi,

the component I've tested Intel C++ Compiler 8.0 on is the Open Dynamics Engine library (using 64bit floating points) with a few modifications. I compile it as a static single-threaded library and use it from my main simulation application for dynamics and collision testing. Using a profiler it is very clear, that more than 90% of the time is consumed by the ODE Step-method.

If you knowany compiler switches for the Intel C++ 8.0 that might makeODE faster than /O2 /Ot /G7 /arch:SSE2 with Visual Studio 2003 I'll be happy try them. There is nothing like getting better performance from adding a few compiler options!

Btw,if you don't knowODE it is available at opende.sourceforge.net

Best regards,

Rune

Hi Rune,

You can look at the white paper on how to optimize at
http://www.intel.com/software/products/compilers/techtopics/compiler_optimization.pdf

This will describe the different compiler optimizations, in addition to the ones that Jennifer suggested. In general, for floating point code executed in hot loops, compiling the function w/ the hot loops with -O3 -xN (or other processor specific flag) gives good performance. O3 and xN enable loop transformations, loop unrolling, etc that can have big performance speedup. P. 7 of the white paper discusses the compiler optimization reports that gives you information on what optimizations the compiler was able to do.

Regards,
John

Thank you for the tips - I'll read the wp and compare with the tests I've already made.

Leave a Comment

Please sign in to add a comment. Not a member? Join today