How can I determine the version of OpenMP in libiomp5.so? From examining the symbols, it appears *not* to be v3.0, so I'm guessing it is 2.5. But I would like to be sure.
I am using IPP v6.1.5.061.
The reason this comes up is because we have OpenMP directives in our own code, which we compile with gcc 4.4. gcc 4.4 uses OpenMP v3.0. If, as I suspect, IPP 6 is using an older version of OpenMP, it seems like issues could arise if we want to use IPP's internal threading, due to conflicts between the two OpenMP versions. Possible solutions I can think of are:
1. link to libgomp (GNU's OpenMP v3.0) instead of libiomp5 -- but would IPP still work if we replace libiomp5 with libgomp?
2. link to both libiomp5 and libgomp (GNU's OpenMP v3.0) -- but would this cause conflicts?
3. disable IPP's internal threading
If anyone has dealt with this or similar issues before, I'd be interested in knowing how you resolved them.
Thank you, that was helpful. It does not actually print the version of the OpenMP specification, but it does tell me when and with what compiler the library was built: October 22, 2007, with Intel C++ Compiler 10.0. Since the OpenMP v3.0 spec wasn't published until May 2008, I think that that confirms that it is an older version of OpenMP.
We will probably try upgrading to IPP 7.