We are compiling an application using OpenMP. We are using gcc 4.4 with -fopenmp. The application also uses IPP, which includes its own version of OpenMP (libiomp5). (Note: we turned off internal IPP streaming by calling ippSetNumThread (1). According to Intel's documentation, this should avoid conflicts with other thread libraries. However, communication with IPP is still related to libiomp5.so.)
Since libiomp5.so is already connected, we did not contact libgomp.so (the gcc version of OpenMP). For a long time this worked, but after a seemingly insignificant change, we began to see very odd crashes related to OpenMP on one of the four platforms we support (the other three platforms still work fine).
I can crash if I contact libgomp.so as well as libiomp5.so.
I have a couple of questions about this:
- Is communication with both of these libraries secure? It appears that both of them will identify the same characters.
- Is there a way to find out which version of OpenMP libiomp5.so supports? With gcc 4.4, libgomp.so should be in OpenMP v3.0. I can not find any information in the Intel documentation about the version of libmomp5.so OpenMP.
source
share