<?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 LoadLibrary fails on libiomp5md.dll (v 11, win32), is there a workaround? in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/LoadLibrary-fails-on-libiomp5md-dll-v-11-win32-is-there-a/m-p/884860#M3470</link>
    <description>I amtrying to usethe C++ code that has been parallelized with OpenMP and compiled with Intel compiler 11,in the mixed language (C++/managed C++/C#) environment. &lt;BR /&gt;The C++ code is an \MD dll that statically links withIPP 6 library.The C++ dllis wrapped into the managed C++ wrapper dll (\CLR, \MD)which is referenced by a C# assembly. Everything works perfectly without OpenMP.&lt;BR /&gt;I parallelized the C++dll with OpenMP and it workswith C++ test executable. &lt;BR /&gt;However, when called from C# code, the whole thing crasheswhen the LoadLibrary is called by the framework on libiomp5md.dll. The error message is "Access violation reading location 0x00000000".&lt;BR /&gt;Could somebody help me? Is there a workaround around the LoadLibrary failure? I would appreciate any advice I can get.&lt;BR /&gt;&lt;BR /&gt;I wrote some test code, and the LoadLibrary indeed fails on libiomp5md.dll, even without C#. I can not use any solution that requires \MT switch, since \CLR is not compatible with \MT.Idid place the libiomp5md.dll into the directory of my C# executable. I do have appropriate Intel directories added to my path. Myown dlls are safelyloaded by the framework before the loading of the Intel dll fails. I checked with dependency walker,and I do not seem to miss any of the dependencies.&lt;BR /&gt;</description>
    <pubDate>Sat, 14 Nov 2009 00:53:52 GMT</pubDate>
    <dc:creator>mariannagnedin</dc:creator>
    <dc:date>2009-11-14T00:53:52Z</dc:date>
    <item>
      <title>LoadLibrary fails on libiomp5md.dll (v 11, win32), is there a workaround?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/LoadLibrary-fails-on-libiomp5md-dll-v-11-win32-is-there-a/m-p/884860#M3470</link>
      <description>I amtrying to usethe C++ code that has been parallelized with OpenMP and compiled with Intel compiler 11,in the mixed language (C++/managed C++/C#) environment. &lt;BR /&gt;The C++ code is an \MD dll that statically links withIPP 6 library.The C++ dllis wrapped into the managed C++ wrapper dll (\CLR, \MD)which is referenced by a C# assembly. Everything works perfectly without OpenMP.&lt;BR /&gt;I parallelized the C++dll with OpenMP and it workswith C++ test executable. &lt;BR /&gt;However, when called from C# code, the whole thing crasheswhen the LoadLibrary is called by the framework on libiomp5md.dll. The error message is "Access violation reading location 0x00000000".&lt;BR /&gt;Could somebody help me? Is there a workaround around the LoadLibrary failure? I would appreciate any advice I can get.&lt;BR /&gt;&lt;BR /&gt;I wrote some test code, and the LoadLibrary indeed fails on libiomp5md.dll, even without C#. I can not use any solution that requires \MT switch, since \CLR is not compatible with \MT.Idid place the libiomp5md.dll into the directory of my C# executable. I do have appropriate Intel directories added to my path. Myown dlls are safelyloaded by the framework before the loading of the Intel dll fails. I checked with dependency walker,and I do not seem to miss any of the dependencies.&lt;BR /&gt;</description>
      <pubDate>Sat, 14 Nov 2009 00:53:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/LoadLibrary-fails-on-libiomp5md-dll-v-11-win32-is-there-a/m-p/884860#M3470</guid>
      <dc:creator>mariannagnedin</dc:creator>
      <dc:date>2009-11-14T00:53:52Z</dc:date>
    </item>
    <item>
      <title>Re: LoadLibrary fails on libiomp5md.dll (v 11, win32), is there</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/LoadLibrary-fails-on-libiomp5md-dll-v-11-win32-is-there-a/m-p/884861#M3471</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/452211"&gt;mariannagnedin&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;I amtrying to usethe C++ code that has been parallelized with OpenMP and compiled with Intel compiler 11,in the mixed language (C++/managed C++/C#) environment. &lt;BR /&gt;The C++ code is an MD dll that statically links withIPP 6 library.The C++ dllis wrapped into the managed C++ wrapper dll (CLR, MD)which is referenced by a C# assembly. Everything works perfectly without OpenMP.&lt;BR /&gt;I parallelized the C++dll with OpenMP and it workswith C++ test executable. &lt;BR /&gt;However, when called from C# code, the whole thing crasheswhen the LoadLibrary is called by the framework on libiomp5md.dll. The error message is "Access violation reading location 0x00000000".&lt;BR /&gt;Could somebody help me? Is there a workaround around the LoadLibrary failure? I would appreciate any advice I can get.&lt;BR /&gt;&lt;BR /&gt;I wrote some test code, and the LoadLibrary indeed fails on libiomp5md.dll, even without C#. I can not use any solution that requires MT switch, since CLR is not compatible with MT.Idid place the libiomp5md.dll into the directory of my C# executable. I do have appropriate Intel directories added to my path. Myown dlls are safelyloaded by the framework before the loading of the Intel dll fails. I checked with dependency walker,and I do not seem to miss any of the dependencies.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;My guess is that LoadLibrary should not be needed on libiomp5md.dll (and it sounds dangerous to try since the compiler hooks into it). Suppose you have a C++ dll called myThrd.dll which has been threaded using OpenMP. Then myThrd.dll should perform load time dynamic linking with libiomp5md.dll and not run-time dynamic linking. Your managed C++ wrapper may use LoadLibrary on myThrd.dll, but should not be explicitly linking with libiomp5md.dll.&lt;BR /&gt;&lt;BR /&gt;Againa guess:myThrd.dll is unable to find the libiomp5md.dll file at load-time and this is what's causing the crash. Not a problem with LoadLibrary on OpenMP.&lt;BR /&gt;&lt;BR /&gt;Peter&lt;BR /&gt;</description>
      <pubDate>Mon, 16 Nov 2009 12:53:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/LoadLibrary-fails-on-libiomp5md-dll-v-11-win32-is-there-a/m-p/884861#M3471</guid>
      <dc:creator>pvonkaenel</dc:creator>
      <dc:date>2009-11-16T12:53:56Z</dc:date>
    </item>
  </channel>
</rss>

