<?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 It seems that dll's entry in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936960#M16123</link>
    <description>&lt;P&gt;It seems that dll's entry point was not found , hence such a message.&lt;/P&gt;</description>
    <pubDate>Thu, 12 Dec 2013 19:47:29 GMT</pubDate>
    <dc:creator>Bernard</dc:creator>
    <dc:date>2013-12-12T19:47:29Z</dc:date>
    <item>
      <title>Creating Windows DLLs containing MIC offload code</title>
      <link>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936957#M16120</link>
      <description>&lt;P&gt;Hello Everyone,&lt;/P&gt;

&lt;P&gt;I am trying to build a Windows DLL that contains code that does offload to MIC. I managed to compile the DLL (and I see that in my output directory a file called &amp;lt;dll-name&amp;gt;MIC.out has also been created). The DLL is consumed from an executable that dynamically loads the library at runtime, looks up the necessary API, and calls it. The problem is that I get the following error when I run the application:&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;offload error: cannot find offload entry ...&lt;/EM&gt;&lt;/P&gt;

&lt;P&gt;after which the process just exits (the behavior I would like to have some control over, but that is a separate question).&lt;/P&gt;

&lt;P&gt;I can successfully run the offload samples (from the Intel C++ Composer's installation), but those are console applications and I am wondering if that has something to do with the problem. All compiler/linker switches are the same between the two (as far as I can assess).&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="line-height: 1.5; font-size: 1em"&gt;Btw, I initially had the code that does MIC offload in a static library that the DLL was linking against (and I did see the&amp;nbsp;&amp;lt;lib-name&amp;gt;MIC.a being created at compile time. I had the same issue when running the application.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Can anyone please advice me on what I am missing here?&lt;/P&gt;

&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Dec 2013 14:51:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936957#M16120</guid>
      <dc:creator>Vladimir_S_</dc:creator>
      <dc:date>2013-12-12T14:51:29Z</dc:date>
    </item>
    <item>
      <title>I'm sorry to hear about the</title>
      <link>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936958#M16121</link>
      <description>&lt;P&gt;I'm sorry to hear about the problems using a DLL. I am not sure you are doing anything wrong. It is possible we have some outstanding issues with the mechanics associated with using a DLL. We are investigating some other related reports.&lt;/P&gt;

&lt;P&gt;Is it your DLL that is reported in the error or&amp;nbsp;one related to the compiler's run-time libraries?&lt;/P&gt;

&lt;P&gt;I ask because in another case the user found it was currently necessary to set the &lt;STRONG&gt;MIC_LD_PRELOAD &lt;/STRONG&gt;on the host to a list of dependent libraries (in that case &lt;STRONG&gt;MIC_LD_PRELOAD=/lib64/libifcore.so.5&lt;/STRONG&gt;) and upload those libraries to the card also. In the absence of this, execution failed with the form of error you cited. I don't know whether that may help in your case also. We are still investigating this behavior.&lt;/P&gt;

&lt;P&gt;If you by chance have a small reproducer then I'd be happy to investigate further and forward that to our Developers too.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Dec 2013 18:12:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936958#M16121</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2013-12-12T18:12:41Z</dc:date>
    </item>
    <item>
      <title>The reported error is against</title>
      <link>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936959#M16122</link>
      <description>&lt;P&gt;The reported error is against a&amp;nbsp;function in the DLL itself (the function's&amp;nbsp;name in the error message&amp;nbsp;is mingled, but there is a reference to the source file name, so I assume that is the case).&amp;nbsp;The offload code (the one targeting MIC) does not have any explicit dependencies on external libraries. Also, for testing purposes,&amp;nbsp;I replaced the real code with some basic loop and got the same behavior.&amp;nbsp;I will try to put together and post a simple reproducer.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Dec 2013 19:40:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936959#M16122</guid>
      <dc:creator>Vladimir_S_</dc:creator>
      <dc:date>2013-12-12T19:40:23Z</dc:date>
    </item>
    <item>
      <title>It seems that dll's entry</title>
      <link>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936960#M16123</link>
      <description>&lt;P&gt;It seems that dll's entry point was not found , hence such a message.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Dec 2013 19:47:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936960#M16123</guid>
      <dc:creator>Bernard</dc:creator>
      <dc:date>2013-12-12T19:47:29Z</dc:date>
    </item>
    <item>
      <title>So the Specific function</title>
      <link>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936961#M16124</link>
      <description>&lt;P&gt;So the Specific function entry point was not found and not&amp;nbsp;dllmain()?&lt;/P&gt;</description>
      <pubDate>Thu, 12 Dec 2013 19:50:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936961#M16124</guid>
      <dc:creator>Bernard</dc:creator>
      <dc:date>2013-12-12T19:50:15Z</dc:date>
    </item>
    <item>
      <title>iliyapolak, I am not sure</title>
      <link>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936962#M16125</link>
      <description>&lt;P&gt;iliyapolak,&amp;nbsp;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;I am not sure what to make out of your comment.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;What seems to be not found is the piece of the offload code that was supposed to be compiled to run on MIC. So somehow that code is not present in the DLL. The MIC offload linker did not report any errors, but yet the code is not included, or somehow cannot be found by the offload infrastructure. So my hope was that it was due to a missing compiler or&amp;nbsp;linker option, but based on&amp;nbsp;Kevin's response, it may be something more severe.&lt;/P&gt;

&lt;P&gt;As for the entry point in&amp;nbsp;the DLL that the client application is calling, everything is fine there.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Dec 2013 19:58:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936962#M16125</guid>
      <dc:creator>Vladimir_S_</dc:creator>
      <dc:date>2013-12-12T19:58:10Z</dc:date>
    </item>
    <item>
      <title>Sorry for improper</title>
      <link>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936963#M16126</link>
      <description>&lt;P&gt;Sorry for improper formulation of my answer I am using smartphone.Now regarding your problem If you think that offload MIC code is not present it is advised to check for presence of that code with dumpbin&amp;nbsp;or other PE parsing/disassembling tool.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Dec 2013 20:15:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936963#M16126</guid>
      <dc:creator>Bernard</dc:creator>
      <dc:date>2013-12-12T20:15:58Z</dc:date>
    </item>
    <item>
      <title>Kevin,</title>
      <link>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936964#M16127</link>
      <description>&lt;P&gt;Kevin,&lt;/P&gt;

&lt;P&gt;Here is the reproducer project (attached). It has a DLL and a console application that consumes it. All relevant code is in the &lt;EM&gt;dll.cpp&lt;/EM&gt; and &lt;EM&gt;main.cpp&lt;/EM&gt; files. I use Visual Studio 2012 (update 4), Intel C++ Composer XE 2013 SP1, and MPSS 3.1. You can compile and run the console application and observe the problem.&lt;/P&gt;

&lt;P&gt;There are two offload calls in the example, one runs fine, and another fails with the&amp;nbsp;&lt;EM&gt;offload error: cannot find offload entry&lt;/EM&gt;.&lt;/P&gt;

&lt;P&gt;It looks like the problem has to do with the failing function (that contains the offload code) having a&amp;nbsp;parameter of a function pointer type.&amp;nbsp;I also suspect it also has to do with the MIC compiler not understanding &lt;EM&gt;__stdcall &lt;/EM&gt;specifier. At any rate the offload code should have nothing to do with the signature of the&amp;nbsp;hosting routine.&lt;/P&gt;

&lt;P&gt;Please advise if this is a bug in the compiler or if there is a&amp;nbsp;syntactical error of some sort in the or code itself.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp;Thank you.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Dec 2013 19:19:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936964#M16127</guid>
      <dc:creator>Vladimir_S_</dc:creator>
      <dc:date>2013-12-13T19:19:18Z</dc:date>
    </item>
    <item>
      <title>It looks like there are two</title>
      <link>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936965#M16128</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;It looks like there are two other cases when the&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;EM style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"&gt;offload error: cannot find offload entry ...&lt;/EM&gt;&lt;/P&gt;

&lt;P&gt;may occur:&lt;/P&gt;

&lt;P&gt;1. When the function that initiates offload&amp;nbsp;(or the offload routine itself) is&amp;nbsp;defined inside a namespace.&lt;/P&gt;

&lt;P&gt;2. When the DLL that contains Phi offload code also contains CUDA kernels (I am using CUDA Toolkit v. 5.5).&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Can someone comment on this?&lt;/P&gt;

&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Mon, 16 Dec 2013 14:03:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Creating-Windows-DLLs-containing-MIC-offload-code/m-p/936965#M16128</guid>
      <dc:creator>Vladimir_S_</dc:creator>
      <dc:date>2013-12-16T14:03:38Z</dc:date>
    </item>
  </channel>
</rss>

