Hi guys,
I know this is a very common and known issue, but I think that this forum has to have a specific thread on this in order to have an official answer.
I'm compiling with GCC and I'm using Intel MKL (that calls Intel OpenMP library).
Result: BOTH libgomp (from GCC) and libiomp5 (from Intel) are linked.
I would avoid this double-linking, but how?
On Intel User Guide I read that I should use:
gcc -fopenmp -c foo.c bar.c gcc foo.o bar.o -liomp5 -lpthread -L<icc_dir>/lib
But this, however, does not avoid the troubles. If I use call ldd I will see that both libgomp and libiomp5 are still linked.
Accordingly to the User Guide I have to use the omp.h file of the compiler (so in this case gcc).
So: in order to not " inadvertently use inappropriate header/module files"should I move Intel omp.h header file somewhere else than the default location?
If so, what about any other application that doesn't know about the new non-default location of Intel omp.h?
I'm not developing just for myself... I cannot put a custom include argument to the compiler command-line just because of this fancy choice.
Maybe I misunderstood something...
Thanks,
Dario
Using gcc 5.3.1 with Intel Parallel Studio XE2016