Intel® C++ Compiler

OpenMP bug in compiler

Consider a class with interface declared in a separate .h file, with the following private variable:
long const dim;

Now, in a member function of the class in the .cpp file I have:
#pragma omp parallel for
for (long i = dim; i <= dd; i += dim)

Then the following happens:
error: An OpenMP "for" must have a loop-invariant increment of integer type

The only way I got it to work is by adding before the pragma this:
long const dim(dim);

Dual core -> Dual Thread ?


I've downloded and installed the C++ Compiler 9.0. I'haven't yet read all the documentation, but I wonder if it's possible to create a thread and choosing the CPU (and/or Core) on which it will execute

PS : I'am asking this question because I work with a Bi-Xeon (four Core), and I make Large image processing tools, but even with multi threading, the CPU run 25% of it's capacity!!!

IPO errors: Unresolved Symbols

I'm using ICC to compile a program from source using a makefile. I put all of the options I wanted in the CFLAGS and CCFLAGS lines as well as the REL_CFLAGS and REL_CCFLAGS lines.

Here's the relevant section of the makefile:

Now this works. Unfortunately, if I add -march, -mtune, -ax, -x, -msse2 or 3, or -ipo, I get lots of fun things as shown by the following link:

imf is FAST

I've been comparing the speed of various library/compiler combinations by using a simple test of computing 1 billion logs of a 32-digit float logf(). The results are striking.

When you include mathimf.h and compile with icc -O , which automatically links with libimf.a, the program is MORE THAN 10 TIMES FASTER than any other method.

If you compile with gcc -O3 -march=pentium4 and force linking against libimf.a, the program is quite slow.

Actually, any compiler flags or libraries you use with gcc still produce quite slow code. (v 3.3.4)

idb 9.0-10 fails with ICC 9.0.021 (assert langIsCxx fails)

I am trying to debug a C++ program I compiled
with ICC 9.0.021.

The command idb a.out yields:

Assertion failed: langIsCxx() || landIsFortran()src/st/file/pil_parsesyms.C727 This is an unexpected condition and may indicate the presence of a defect. If you wish to report this, please include the stack trace that follows.
Could not start process for a.out
No image loaded ...Recovering ...

ansi_alias question

I read on the Web that ansi_alias for example excludes having pointers of different types to the same data. I want to ask if it's OK, however, to use unions mixing different types and still be consistent with the ANSI aliasing rules. For example union {long a; float b;} *test; is it still valid to use the ansi_alias flag if I'm referring to data through both test->a and test->b?

Message Edited by Quince on 09-04-2005 04:52 PM

intel C++ compiler 9.0 integrations in microsoft VS6 problem.

hi, I have installed microsoft visual studio 6.0 Enterprise Version and SP5 on my computer, and also installed microsoft processor pack for SP5 on my computer.

when I install intel C++ compiler 9.0 ( the only version I have installed, no other version), it can install the main compiler programs into my computer, and I can test the sample c program without problem. but when I
install the compiler 9.0 integrations in microsoft VC6, I always got the error
message when installing:

S’abonner à Intel® C++ Compiler