Intel® C++ Compiler

Equivalent of "gcc -Q --help=target"

Intel documentation indicates that the optimization parameters used with -O3 can change between versions of the compiler. I would like to evaluate the difference in optimizations between v16.3 and v17. Is there a simple way to arrive at the options used in a similar fashion that gcc allows with the options shown in my Subject line?

error #31001: The dll for reading and writing the pdb (for example, mspdb110.dll) could not be found on your path

Hi everyone,

I recently upgraded my Intel Composer version (2016 -> 2017 update 1) and cannot compile my program anymore in 32bit mode. I get this error :

"error #31001: The dll for reading and writing the pdb (for example, mspdb110.dll) could  not be found on your path"

I found this similar topic but in my case it works fine in 64bit and crash in 32bit. The compilation crash in command line and in Visual Studio.

ICC ignoring all linker information

Dear Intel forum,

  I am using the icc  17.0.1 for compile several ccp codes onto object then linker on  a executable.  Some odd thing is happening, if i use the follow lines to linker to a executable :

icc in_boundary.o in_gfmd.o in_integration.o in_print.o in_rand.o in_util.o in_forces.o in_init.o in_namelist.o in_prop.o in_singlestep.o main.o -o gfmd

icc -o gfmd in_boundary.o in_gfmd.o in_integration.o in_print.o in_rand.o in_util.o in_forces.o in_init.o in_namelist.o in_prop.o in_singlestep.o main.o

Intel C++ Compiler 16.0 OpenMP initialization of thread local static member in template class

Hi,

it appears that on Windows thread local storage (TLS) static members in template classes do not get initialized properly in worker threads.

Here is a (maybe not so minimal) reproducing test:

--------------------------------------------------------------------------------------------------------------------------------------------------

#pragma warning( disable: 46 ) does not disable

Compiling using Parallel Studio 2017 on Windows 10, VS 2015 community edition

 

#ifdef WIN32
#pragma warning( push,    46 )
#pragma warning( disable: 46 )
#define _Pragma(text) __pragma(text)    // ignore this warning message
#pragma warning( pop )
#endif

 

1>..\..\src\./checker.h(294): warning #46: "_Pragma" is predefined; attempted redefinition ignored
1>    #define _Pragma(text) __pragma(text)
1>            ^

Why did the warning #46 not get suppressed?

 

AVX best performance min function with usigned char

Hi everybody and thanks for your help!

I have this piece of code :

unsigned char A,B,C;

// init A,B,C with mm_malloc, 64 bit aligned 

for(j=0;j<size;j++)
       C[j] = fminf(255,255-(A[j]*B[j]));

Considering that A,B,C are 8 bit datatype so with AVX vectorization I should have 16 operation per clock cycle, but the function fmin work with 32 bit float datatype so the operation per clock cycle are 8. I see in Intel intrinsic function exist a min between u8 datatype. 

icc (ICC) 17.0.1 20161005 creates much larger and slow executable than gcc

If I compile plain C code using icc 17.0.1, it creates executable (if stripped) of 105k size, while the gcc (6.3.0 and 4.8.5) creates 8k size executable.  The executable compiled with icc is also about 20% slower.  Also, for some reason icc unnecessarily links to libdl.so and libgcc_s.so libraries.

I was under impression icc was meant to produce better performing executables than gcc ..

Is there anything I can do here with icc to get a better-performing, smaller executable, than with gcc ?

Subscribe to Intel® C++ Compiler