Intel® C++ Compiler

icpc (9.0) on Linux, breaks pbrt

pbrt is the physically based renderer from pbrt.org
I'm building on a dual Xeon machine.
I tried to compile as follows, by changing the Makefile:
CXX=icpc
OPT=-ipo -O3 -no-prec-div -axP -ssp -parallel

When running the executable, it has a problem finding routines in the library files, with errors such as:
Error: Can't open plug-in "some_path/pbrt/bin/distant.so" (some_path/pbrt/bin/distant.so: undefined symbol: _ZNK5Scene10WorldBoundEv)

undefined references with -fvisibility=hidden

I have the following code in foo.h

void __attribute__ ((visibility("default"))) foo();

and in foo.c

#include "foo.h"
#include stdio.h

void foo()
{
printf("foo()");
}

When I try to compile this with icc it fails:

icc -fvisibility=hidden -fpic -o foo.o -c foo.c
icc -fpic -shared -o libfoo foo.o
foo.o: In function `foo':
foo.c:(.text+0x18): undefined reference to `printf'
ld: libfoo: hidden symbol `printf' isn't defined
ld: final link failed: Nonrepresentable section on output

Intel C++ v7.1 compiler integration with .Net IDE

I have a customer that is looking to integrate the Intel C++ compiler with the Microsoft .Net 2003 IDE. While I know that 8.1 and 9.x will work with this scenerio, however I am sketchy as to wheather this will work. Could someone here please advise to let me know if the customer should upgrade or not. Thanks in advance!

Gus E

rant: -ipo *still* not fixed

I just updated to release l_cc_c_9.0.025 and find that the broken -ipo is still not fixed. A memory jog:

----------

# cat main.c
int main(int argc, char **argv[])
{ return 0; }

# icc -O2 -ip -o main main.c
# icc -O2 -ipo -o main main.c
IPO: performing single-file optimizations
IPO link: can not find "("
icc: error: problem during multi-file optimization compilation (code 1)

# icc -V
Intel C Compiler for 32-bit applications, Version 9.0 Build 20050809Z Package ID: l_cc_c_9.0.025

----------

ippSinCos and valgrind

Hi all,

I am debugging my c++ program using valgrind, and I receive many invalid read/write errors of the type:

Invalid read of size 4
==31555== at 0x1BD2F92A: ippsSinCos_32f_A11

The output includes a suggestion that this may be a bug with gcc version 2.9.6 or 3.0.x, and suggests the option --workaround-gcc296-bugs=yes. This does indeed stop valgrind complaining, but I'm not sure it should be used as my version of gcc and g++ is 3.3.4, and g++ is what is actually used to compile the code.

Huge binaries with ICC 9.0.021

I am getting huge binary file sizes compiling with ICC, and I don't know why. I compiled a 4k .c file, with GCC 3.4.4 (CFLAGS=-O2 (tried -O3 also) -mtune=pentium4 -fomit-frame-pointer -pipe -ffast-math -march=pentium4) and the binary was 12k. I compiled the exact same .c file with ICC 9.0.021 (CFLAGS=-O3 (tried -O2 also) -tpp7 -xN -malign-double -pipe -ip -no-prec-div -static -i_dynamic -parallel -ssp -fomit-frame-pointer) and the compiled binary is a whopping 733k! Why is this? Is there something wrong with my CFLAGS, or is the ICC not very good at creating small binaries? :-)

What CFlags are being used to optimize a Smithfield 830 Dual Core?

Hi ,

I am installing Gentoo on four Smithfield 830 Dual core servers. I was curious and interested to find out exactly, if any CFlags in GCC or ICC are used to optimize performance. I haven't found any published data to support optimization flags for the smithfield.

I would appreciate a information that can be posted on this thread.

Sincerely,

Mario A Gastelum
LinuxNutBox

mariog@us.shuttle.com

Subscribe to Intel® C++ Compiler