I have a DLL that statically links to almost all the IPP static libraries, including Intel OpenMP. Likewise, I also have an EXE that links against almost all IPP static libs. The EXE also links against the DLL, thus creating 2 instances of IPP.
At 1st, I get the message
"OMP abort: Initializing libiomp5mt.lib, but found libiomp5mt.lib already initialized.
This may cause performance degradation and correctness issues."
This happens when I call ippStaticInit() at the beginning of main(), which is after ippInit is called in the DLL. This doesn't make sense because there are 2 separate instances, unless they share resources in a non-thread safe way.
After setting KMP_DUPLICATE_LIB_OK=TRUE, the 64bit version of the app runs OK. But, the 32bit version crashes after calling ippMalloc in the EXE.