<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Re:Windows: libiomp5md: reports multiple initialisation in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1369498#M32921</link>
    <description>&lt;P&gt;Hi, Sorry for the delay; thanks for making progress. I am afraid I had given up on you and did not see this progress until now. I am happy to share my troublesome code but it will take a little time.&lt;/P&gt;
&lt;P&gt;As the code is (although managed in visual studio) cmake based, and ninja is the underlying build system, there is no vcproj, and the build is clean every time - so I do not really recognise the remark you are mentioning about the sln file.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I will try try upload exactly the breaking code. Is there a private way of doing this?&lt;/P&gt;
&lt;P&gt;I have been trying to produce a minimal reduced version of the problem for you; it seems this is not predictable or straight forward. It looks to me as if there is an issue that is similar to that of unpredictable order of static initialisation in C++ and as if the exact configuration of the binary plays a role in the trouble. Is that possible.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best&lt;/P&gt;
&lt;P&gt;Terry&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;I also found the following on the web (what is the windows equivalent of the suggested work around):&lt;/P&gt;
&lt;H3&gt;Multiple OpenMP Loadings&lt;/H3&gt;
&lt;P&gt;If the application uses the Inference Engine with third-party components that depend on Intel® OpenMP, multiple loadings of the libiomp library may occur and cause OpenMP runtime initialization conflicts. This might happen if the application uses the Intel® Math Kernel Library (Intel® MKL) through the “Single Dynamic Library” (libmkl_rt.so) mechanism and calls Intel® MKL after loading the Inference Engine plugin.&lt;/P&gt;
&lt;P&gt;Error log report:&lt;/P&gt;
&lt;P&gt;OMP: Error #15: Initializing libiomp5.so, but found libiomp5.so already initialized.OMP: Hint: This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, see &lt;A href="http://www.intel.com/software/products/support/" target="_blank"&gt;http://www.intel.com/software/products/support/&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Possible workarounds:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Preload the OpenMP runtime using the&amp;nbsp;LD_PRELOAD&amp;nbsp;variable:&lt;BR /&gt;This eliminates multiple loadings of&amp;nbsp;libiomp, and makes all components use this specific version of OpenMP.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;LD_PRELOAD=&amp;lt;path_to_libiomp5.so] &amp;lt;path_to your_executable]&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Set&amp;nbsp;KMP_DUPLICATE_LIB_OK=TRUE. This option might result in performance degradation or incorrect results.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 16 Mar 2022 23:07:16 GMT</pubDate>
    <dc:creator>Terry</dc:creator>
    <dc:date>2022-03-16T23:07:16Z</dc:date>
    <item>
      <title>Windows: libiomp5md: reports multiple initialisation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1361874#M32761</link>
      <description>&lt;P&gt;The context:&lt;/P&gt;
&lt;P&gt;I am developing a small cmake C++ project with multiple dependencies including mkl; the project has a very heavy scientific workload and is intended to scale to large server contexts when running.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The (final) problem:&amp;nbsp;&lt;BR /&gt;OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.&lt;BR /&gt;OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see &lt;A href="http://www.intel.com/software/products/support/" target="_blank"&gt;http://www.intel.com/software/products/support/&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To the best of my knowledge my code - which has two internal components, an executable and a single (home brewed) dll, and I believe it links exactly once to the libiomp5md as well as to the MKL dynamic libraries.&lt;/P&gt;
&lt;P&gt;The omp is used by the Eigen3 headers only library and also by the MKL.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I attach the two MAP files from linking. I have successfully excluded the VCOMP library from the build of each of these components etc.&lt;/P&gt;
&lt;P&gt;This is a breaking problem for me.&amp;nbsp; I need to scale the calculations and cannot have an unreliable solution (the results are maths!!). I need the parallelization working.&lt;/P&gt;
&lt;P&gt;It is clear that this duplicate initialization problem is widespread over time with reports on this web site from 2012 but there are no "sensible" proposed solutions and the links are dead.&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;I am using&lt;/P&gt;
&lt;P&gt;Microsoft Visual Studio Enterprise 2019&lt;BR /&gt;Version 16.11.9&lt;BR /&gt;VisualStudio.16.Release/16.11.9+32106.194&lt;BR /&gt;Microsoft .NET Framework&lt;BR /&gt;Version 4.8.04084&lt;/P&gt;
&lt;P&gt;Installed Version: Enterprise&lt;/P&gt;
&lt;P&gt;Visual C++ 2019 00435-60000-00000-AA626&lt;BR /&gt;Microsoft Visual C++ 2019&lt;/P&gt;
&lt;P&gt;Intel Libraries for oneAPI Package ID: w_oneAPI_2021.4.0.364&lt;BR /&gt;Intel Libraries for oneAPI – toolkit version: 2021.4.0, extension version 21.1.0.16, Package ID: w_oneAPI_2021.4.0.364, Copyright © 2019-2021 Intel Corporation. All rights reserved.&lt;BR /&gt;* Other names and brands may be claimed as the property of others.&lt;/P&gt;
&lt;P&gt;Intel® Advisor 2021.4 610727&lt;BR /&gt;Intel® Advisor 2021.4, (build 610727), Copyright © 2009-2021 Intel Corporation. All rights reserved.&lt;/P&gt;
&lt;P&gt;Intel® C++ Compiler Package ID: w_comp_lib_2020.4.311&lt;BR /&gt;Intel® C++ Compiler – extension version 19.1.0.16, Package ID: w_comp_lib_2020.4.311, Copyright © 2002-2020 Intel Corporation. All rights reserved.&lt;BR /&gt;* Other names and brands may be claimed as the property of others.&lt;/P&gt;
&lt;P&gt;Intel® C++ Compiler Package ID: w_oneAPI_2021.4.0.364&lt;BR /&gt;Intel® C++ Compiler – toolkit version: 2021.4.0, extension version 21.0.16, Package ID: w_oneAPI_2021.4.0.364, Copyright © 2002-2021 Intel Corporation. All rights reserved.&lt;BR /&gt;* Other names and brands may be claimed as the property of others.&lt;/P&gt;
&lt;P&gt;Intel® DPC++ Compatibility Tool Package ID: w_oneAPI_2021.4.0.398&lt;BR /&gt;Intel® DPC++ Compatibility Tool – toolkit version: 2021.4.0, extension version 2021.1.0.16, Package ID: w_oneAPI_2021.4.0.398, Copyright © 2019-2021 Intel Corporation. All rights reserved.&lt;BR /&gt;* Other names and brands may be claimed as the property of others.&lt;/P&gt;
&lt;P&gt;Intel® oneAPI DPC++ Compiler Package ID: w_oneAPI_2021.4.0.364&lt;BR /&gt;Intel® oneAPI DPC++ Compiler – toolkit version: 2021.4.0, extension version 21.1.0.16, Package ID: w_oneAPI_2021.4.0.364, Copyright © 2019-2021 Intel Corporation. All rights reserved.&lt;BR /&gt;* Other names and brands may be claimed as the property of others.&lt;/P&gt;
&lt;P&gt;Intel® oneAPI Menu &amp;amp; Samples 1.1.419&lt;BR /&gt;Intel® oneAPI Visual Studio Menu &amp;amp; Samples Extension&lt;/P&gt;
&lt;P&gt;Intel® Performance Libraries Package ID: w_comp_lib_2020.4.311&lt;BR /&gt;Intel® Performance Libraries – extension version 19.1.0.16, Package ID: w_comp_lib_2020.4.311, Copyright © 2002-2020 Intel Corporation. All rights reserved.&lt;BR /&gt;* Other names and brands may be claimed as the property of others.&lt;/P&gt;
&lt;P&gt;Intel® Visual Fortran Compiler Package ID: w_comp_lib_2020.4.311&lt;BR /&gt;Intel® Visual Fortran Compiler – extension version 19.1.0057.16, Package ID: w_comp_lib_2020.4.311, Copyright © 2002-2020 Intel Corporation. All rights reserved.&lt;BR /&gt;* Other names and brands may be claimed as the property of others.&lt;/P&gt;
&lt;P&gt;Intel® VTune™ Profiler 2021 619561&lt;BR /&gt;Intel® VTune™ Profiler 2021, (build 619561), Copyright © 2009-2021 Intel Corporation. All rights reserved.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 19 Feb 2022 11:11:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1361874#M32761</guid>
      <dc:creator>Terry</dc:creator>
      <dc:date>2022-02-19T11:11:17Z</dc:date>
    </item>
    <item>
      <title>Re: Windows: libiomp5md: reports multiple initialisation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1362188#M32764</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for posting on Intel Communities.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We would like to request you to share a sample reproducer and steps(if any) so that we could try investigating your issue at our end.&lt;/P&gt;
&lt;P&gt;In addition,&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;We would like to recommend you to clean the solution file and build the same after performing any configuration changes so that they would get reflected in your project configuration.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Apr 2022 14:43:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1362188#M32764</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-04-12T14:43:43Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Windows: libiomp5md: reports multiple initialisation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1362631#M32770</link>
      <description>&lt;P&gt;Hi &lt;SPAN&gt;Shanmukh.SS&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your response. I will try. The problem seems very consistent.&lt;/P&gt;
&lt;P&gt;Below is my basic setup from which all else derives. If I run code using the MKL all is well - including using code run from Eigen with MKL switched on in Eigen; however, as soon as one uses Eigen with MKL switched off or the simplest OMP &lt;STRONG&gt;omp parallel for&lt;/STRONG&gt;&amp;nbsp;in my code &lt;EM&gt;outside&lt;/EM&gt; the MKL/LAPACK,&amp;nbsp;while also using MKL/LAPACK, the fated errors of duplicate initialization appear. The uses are not nested.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is this enough info for you - the cmake is cut and pasted from my base cmakelists.txt file and works for me!&amp;nbsp; It assumes UnitTest++, Eigen3, MKL are available (I use vcpkg to achieve this). The problems occur with VS2019 and VS2022 (Enterprise). The failing examples are framed as unit tests. I can probably send you code that breaks this but only if you can get a basic multi-package framework up and running. Let me know.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards&lt;/P&gt;
&lt;P&gt;Terry&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;cmake_minimum_required(VERSION 3.20)&lt;BR /&gt;project(RootProject)&lt;/P&gt;
&lt;P&gt;if(MSVC)&lt;BR /&gt;#string(APPEND CMAKE_CXX_FLAGS " /Zc:__cplusplus")&lt;BR /&gt;endif()&lt;/P&gt;
&lt;P&gt;message(STATUS "Final project output is placed in ${CMAKE_BINARY_DIR}")&lt;BR /&gt;# collect binaries together in common location so that modules and dlls find each other at build time&lt;BR /&gt;set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)&lt;BR /&gt;set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)&lt;BR /&gt;set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)&lt;/P&gt;
&lt;P&gt;######################################packages#############################################&lt;BR /&gt;# provides unit test capability via UnitTest++&lt;BR /&gt;find_package(UnitTest++ CONFIG REQUIRED)&lt;BR /&gt;# target_link_libraries(main PRIVATE UnitTest++)&lt;BR /&gt;find_path(UnitTest++_INCLUDE_DIR "UnitTest++/UnitTest++.h")&lt;BR /&gt;set(UnitTest++_INCLUDE_DIRS ${UnitTest++_INCLUDE_DIR})&lt;/P&gt;
&lt;P&gt;# provides boost functionality via Boost::boost&lt;BR /&gt;set(Boost_NO_WARN_NEW_VERSIONS 1)&lt;BR /&gt;find_package(Boost COMPONENTS filesystem iostreams chrono random serialization REQUIRED)&lt;/P&gt;
&lt;P&gt;# provides access to the Intel/MKL version of lapack via LAPACK::LAPACK as Eigen needs to see mkl.h&lt;BR /&gt;set (BLA_SIZEOF_INTEGER 4) # required for eigen&lt;BR /&gt;set(BLA_VENDOR Intel10_64lp)&lt;BR /&gt;set(BLA_STATIC 0 CACHE BOOL "force nonstatic linking in lapack" FORCE)&lt;BR /&gt;find_package(LAPACK)&lt;BR /&gt;If(LAPACK_FOUND AND MSVC )&lt;BR /&gt;## global flags to stop mixed omp versioning&lt;BR /&gt;## check correct library chosen (must have the vcomp entries)&lt;BR /&gt;add_compile_options(/MD$&amp;lt;$&amp;lt;CONFIG:Debug&amp;gt;:d&amp;gt;)&lt;BR /&gt;add_compile_definitions(_OPENMP_NOFORCE_MANIFEST)&lt;BR /&gt;add_link_options(/nodefaultlib:vcomp$&amp;lt;$&amp;lt;CONFIG:Debug&amp;gt;:d&amp;gt;)&lt;BR /&gt;endif()&lt;/P&gt;
&lt;P&gt;If(LAPACK_FOUND) &lt;BR /&gt;## add mkl headers include to LAPACK::LAPACK&lt;BR /&gt;## ensure they are consistent with the discovered version from mkl_blas&lt;BR /&gt;cmake_path(GET BLAS_mkl_core_dll_LIBRARY PARENT_PATH MKL_LIB_PATH)&lt;BR /&gt;cmake_path(APPEND_STRING MKL_LIB_PATH "/../../include" OUTPUT_VARIABLE MKL_HEADER_PATH)&lt;BR /&gt;cmake_path(SET MKL_HEADER_PATH NORMALIZE "${MKL_HEADER_PATH}")&lt;BR /&gt;## validate the path&lt;BR /&gt;find_path(MKL_H mkl.h PATHS "${MKL_HEADER_PATH}" REQUIRED NO_DEFAULT_PATH)&lt;/P&gt;
&lt;P&gt;target_include_directories(LAPACK::LAPACK INTERFACE&lt;BR /&gt;"$&amp;lt;BUILD_INTERFACE:${MKL_HEADER_PATH}/../include&amp;gt;"&lt;BR /&gt;"$&amp;lt;INSTALL_INTERFACE:include&amp;gt;" # &amp;lt;prefix&amp;gt;/include&lt;BR /&gt;)&lt;BR /&gt;endif()&lt;/P&gt;
&lt;P&gt;# provides OpenMP via OpenMP::OpenMP_CXX&lt;BR /&gt;find_package(OpenMP)&lt;BR /&gt;if(OpenMP_CXX_FOUND AND MSVC)&lt;BR /&gt;## allow simd extension to MS OMP v2.0&lt;BR /&gt;set_property(TARGET OpenMP::OpenMP_CXX&lt;BR /&gt;PROPERTY INTERFACE_COMPILE_OPTIONS $&amp;lt;$&amp;lt;COMPILE_LANGUAGE:CXX&amp;gt;:-openmp:experimental&amp;gt;)&lt;BR /&gt;endif()&lt;/P&gt;
&lt;P&gt;# provides C++ templated linear algebra Eigen3::Eigen&lt;BR /&gt;find_package(Eigen3 CONFIG REQUIRED)&lt;BR /&gt;if(Eigen3_FOUND AND LAPACK_FOUND)&lt;BR /&gt;# use mkl for the linear algbra over the fp numbers&lt;BR /&gt;add_compile_definitions(EIGEN_USE_MKL_ALL)&lt;BR /&gt;endif()&lt;/P&gt;</description>
      <pubDate>Tue, 22 Feb 2022 18:10:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1362631#M32770</guid>
      <dc:creator>Terry</dc:creator>
      <dc:date>2022-02-22T18:10:39Z</dc:date>
    </item>
    <item>
      <title>Re: Windows: libiomp5md: reports multiple initialisation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1365080#M32846</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;I can probably send you code that breaks this but only if you can get a basic multi-package framework up and running.&lt;/P&gt;
&lt;P&gt;We have downloaded the mentioned dependencies(UnitTest++, Eigen3, MKL) for Windows. Could you please share the code and environmental settings to be configured in your Visual Studio(if possible please share your vcproj file), so that we could try reproducing it at our end.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;If I run code using the MKL all is well - including using code run from Eigen with MKL switched on in Eigen; however, as soon as one uses Eigen with MKL switched off&lt;/P&gt;
&lt;P&gt;As suggested, Could you please let us know any progress after cleaning the solution file and build the same after performing any configuration changes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In addition, Could you please cross verify if there is some sort of environmental issue at your end.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards.&lt;/P&gt;
&lt;P&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Apr 2022 14:45:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1365080#M32846</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-04-12T14:45:32Z</dc:date>
    </item>
    <item>
      <title>Re:Windows: libiomp5md: reports multiple initialisation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1367141#M32883</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Reminder:&lt;/P&gt;&lt;P&gt;Has the information provided helped?  Is your issue resolved? &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Kindly let us know so that we could look into your issue further.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 09 Mar 2022 12:16:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1367141#M32883</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-03-09T12:16:56Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Windows: libiomp5md: reports multiple initialisation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1369498#M32921</link>
      <description>&lt;P&gt;Hi, Sorry for the delay; thanks for making progress. I am afraid I had given up on you and did not see this progress until now. I am happy to share my troublesome code but it will take a little time.&lt;/P&gt;
&lt;P&gt;As the code is (although managed in visual studio) cmake based, and ninja is the underlying build system, there is no vcproj, and the build is clean every time - so I do not really recognise the remark you are mentioning about the sln file.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I will try try upload exactly the breaking code. Is there a private way of doing this?&lt;/P&gt;
&lt;P&gt;I have been trying to produce a minimal reduced version of the problem for you; it seems this is not predictable or straight forward. It looks to me as if there is an issue that is similar to that of unpredictable order of static initialisation in C++ and as if the exact configuration of the binary plays a role in the trouble. Is that possible.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best&lt;/P&gt;
&lt;P&gt;Terry&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;I also found the following on the web (what is the windows equivalent of the suggested work around):&lt;/P&gt;
&lt;H3&gt;Multiple OpenMP Loadings&lt;/H3&gt;
&lt;P&gt;If the application uses the Inference Engine with third-party components that depend on Intel® OpenMP, multiple loadings of the libiomp library may occur and cause OpenMP runtime initialization conflicts. This might happen if the application uses the Intel® Math Kernel Library (Intel® MKL) through the “Single Dynamic Library” (libmkl_rt.so) mechanism and calls Intel® MKL after loading the Inference Engine plugin.&lt;/P&gt;
&lt;P&gt;Error log report:&lt;/P&gt;
&lt;P&gt;OMP: Error #15: Initializing libiomp5.so, but found libiomp5.so already initialized.OMP: Hint: This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, see &lt;A href="http://www.intel.com/software/products/support/" target="_blank"&gt;http://www.intel.com/software/products/support/&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Possible workarounds:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Preload the OpenMP runtime using the&amp;nbsp;LD_PRELOAD&amp;nbsp;variable:&lt;BR /&gt;This eliminates multiple loadings of&amp;nbsp;libiomp, and makes all components use this specific version of OpenMP.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;LD_PRELOAD=&amp;lt;path_to_libiomp5.so] &amp;lt;path_to your_executable]&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Set&amp;nbsp;KMP_DUPLICATE_LIB_OK=TRUE. This option might result in performance degradation or incorrect results.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Mar 2022 23:07:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1369498#M32921</guid>
      <dc:creator>Terry</dc:creator>
      <dc:date>2022-03-16T23:07:16Z</dc:date>
    </item>
    <item>
      <title>Re: Windows: libiomp5md: reports multiple initialisation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1369580#M32923</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;Is there a private way of doing this?&lt;/P&gt;
&lt;P&gt;Thanks for getting back to us. As requested by you, we will be connecting with you privately further on this case.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Mar 2022 05:36:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1369580#M32923</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-03-17T05:36:48Z</dc:date>
    </item>
    <item>
      <title>Re:Windows: libiomp5md: reports multiple initialisation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1376530#M33010</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We have not heard back from you. This thread will no longer be monitored by Intel. If you need further assistance, please post a new question.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 12 Apr 2022 14:35:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Windows-libiomp5md-reports-multiple-initialisation/m-p/1376530#M33010</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2022-04-12T14:35:08Z</dc:date>
    </item>
  </channel>
</rss>

