<?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 this is very strange as MKL in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179422#M29212</link>
    <description>&lt;P&gt;this is very strange as MKL themself knows nothing about the python. I would recommend addressing this question to the intel Pyhton Forum&amp;nbsp;-&amp;nbsp;https://software.intel.com/en-us/forums/intel-distribution-for-python&lt;/P&gt;</description>
    <pubDate>Tue, 28 Jan 2020 10:25:36 GMT</pubDate>
    <dc:creator>Gennady_F_Intel</dc:creator>
    <dc:date>2020-01-28T10:25:36Z</dc:date>
    <item>
      <title>Loading MKL 2020 mkl_core.dll resets the DLL search order on Windows</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179421#M29211</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;this issue was reported at &amp;lt;https://github.com/numpy/numpy/issues/15431&amp;gt;&lt;/P&gt;&lt;P&gt;Loading the `mkl_core.dll` from MKL 2020 resets the DLL search order, probably by calling `SetDllDirectoryA(NULL)`.&lt;/P&gt;&lt;P&gt;This breaks any application relying on the DLL search order set by `SetDllDirectory`.&lt;/P&gt;&lt;P&gt;MKL 2019.5 does not reset the DLL search order.&lt;/P&gt;&lt;P&gt;Here's a Python 3.8 script using &lt;A href="https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy"&gt;numpy+mkl&lt;/A&gt; and pywin32 demonstrating the issue:&lt;/P&gt;
&lt;PRE class="brush:plain; class-name:dark; wrap-lines:false;"&gt;Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
&amp;gt;&amp;gt;&amp;gt; import sys, ctypes, win32api
&amp;gt;&amp;gt;&amp;gt; mklpath = sys.prefix + '/Lib/site-packages/numpy/DLLs'
&amp;gt;&amp;gt;&amp;gt; win32api.SetDllDirectory(mklpath)
&amp;gt;&amp;gt;&amp;gt; print(win32api.GetDllDirectory())
X:\Python38/Lib/site-packages/numpy/DLLs
&amp;gt;&amp;gt;&amp;gt; ctypes.CDLL(mklpath + '/mkl_core.dll')
&amp;lt;CDLL 'X:\Python38\Lib\site-packages\numpy\DLLs\mkl_core.dll', handle 7fff323a0000 at 0x11e427c0af0&amp;gt;
&amp;gt;&amp;gt;&amp;gt; print(win32api.GetDllDirectory())
Traceback (most recent call last):
  File "&amp;lt;stdin&amp;gt;", line 1, in &amp;lt;module&amp;gt;
pywintypes.error: (0, 'GetDllDirectory', 'No error message is available')&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 18:07:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179421#M29211</guid>
      <dc:creator>Christoph_Gohlke</dc:creator>
      <dc:date>2020-01-27T18:07:54Z</dc:date>
    </item>
    <item>
      <title>this is very strange as MKL</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179422#M29212</link>
      <description>&lt;P&gt;this is very strange as MKL themself knows nothing about the python. I would recommend addressing this question to the intel Pyhton Forum&amp;nbsp;-&amp;nbsp;https://software.intel.com/en-us/forums/intel-distribution-for-python&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jan 2020 10:25:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179422#M29212</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-01-28T10:25:36Z</dc:date>
    </item>
    <item>
      <title>This issue is not specific to</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179423#M29213</link>
      <description>&lt;P&gt;This issue is not specific to Python. Python was just used to demonstrate the issue. Here's a C console application that demonstrates the same:&lt;/P&gt;
&lt;PRE class="brush:cpp; class-name:dark;"&gt;#include &amp;lt;iostream&amp;gt;
#include "windows.h"

int main()
{
    bool b = SetDllDirectoryA((LPCSTR)"C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2020.0.166\\windows\\redist\\intel64_win\\mkl\\");
    std::cout &amp;lt;&amp;lt; "SetDllDirectoryA " &amp;lt;&amp;lt; (b ? "succeeded" : "failed") &amp;lt;&amp;lt; "\n";

    char buffer[8192];
    DWORD ret = GetDllDirectoryA(8192, buffer);
    std::cout &amp;lt;&amp;lt; "GetDllDirectoryA " &amp;lt;&amp;lt; ((ret == 0 || GetLastError() != NO_ERROR) ? "failed" : "succeeded") &amp;lt;&amp;lt; "\n";
    std::cout &amp;lt;&amp;lt; buffer &amp;lt;&amp;lt; "\n";

    HINSTANCE hDLL = LoadLibrary((LPCWSTR)L"mkl_core.dll");
    std::cout &amp;lt;&amp;lt; "LoadLibrary " &amp;lt;&amp;lt; ((hDLL == NULL) ? "failed" : "succeeded") &amp;lt;&amp;lt; "\n";

    ret = GetDllDirectoryA(8192, buffer);
    std::cout &amp;lt;&amp;lt; "GetDllDirectoryA " &amp;lt;&amp;lt; ((ret == 0 || GetLastError() != NO_ERROR) ? "failed" : "succeeded") &amp;lt;&amp;lt; "\n";
    std::cout &amp;lt;&amp;lt; buffer &amp;lt;&amp;lt; "\n";
}&lt;/PRE&gt;

&lt;P&gt;Output:&lt;/P&gt;

&lt;PRE class="brush:plain; class-name:dark;"&gt;SetDllDirectoryA succeeded
GetDllDirectoryA succeeded
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.0.166\windows\redist\intel64_win\mkl\
LoadLibrary succeeded
GetDllDirectoryA failed
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jan 2020 18:15:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179423#M29213</guid>
      <dc:creator>Christoph_Gohlke</dc:creator>
      <dc:date>2020-01-28T18:15:18Z</dc:date>
    </item>
    <item>
      <title>Thanks for the update. that's</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179424#M29214</link>
      <description>&lt;P&gt;Thanks for the update. that's really interesting and this is the first time we face such an issue. We will&amp;nbsp;check. thanks again.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jan 2020 03:14:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179424#M29214</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-01-29T03:14:04Z</dc:date>
    </item>
    <item>
      <title>the quick question  - which</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179425#M29215</link>
      <description>&lt;P&gt;the quick question&amp;nbsp; - which compiler option do you use to prevent this compile time error:&amp;nbsp; &amp;nbsp;argument of type "LPCWSTR={const WCHAR={__wchar_t} *}" is incompatible with parameter of type "LPCSTR={const CHAR={char} *}"&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jan 2020 06:14:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179425#M29215</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-01-29T06:14:40Z</dc:date>
    </item>
    <item>
      <title>&gt; which compiler option do</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179426#M29216</link>
      <description>&lt;P&gt;&amp;gt; which compiler option do you use to prevent this compile time error&lt;/P&gt;&lt;P&gt;Not sure. I just created a new C++ Console project using Visual Studio 2019.&lt;/P&gt;&lt;P&gt;Try to replace the offending line with:&lt;/P&gt;
&lt;PRE class="brush:cpp; class-name:dark;"&gt;HINSTANCE hDLL = LoadLibraryA((LPCSTR)"mkl_core.dll");&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jan 2020 06:24:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179426#M29216</guid>
      <dc:creator>Christoph_Gohlke</dc:creator>
      <dc:date>2020-01-29T06:24:15Z</dc:date>
    </item>
    <item>
      <title>ok, thanks.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179427#M29217</link>
      <description>&lt;P&gt;ok, thanks.&lt;/P&gt;&lt;P&gt;I have 3 latest versions&amp;nbsp; ( 2018, 2019 and 2020 correspondingly) of&amp;nbsp;MKL&amp;nbsp;installed on my local systems and I see no problems on my part.&lt;/P&gt;&lt;P&gt;.... version 2018.....&lt;BR /&gt;SetDllDirectoryA succeeded&lt;BR /&gt;GetDllDirectoryA succeeded&lt;BR /&gt;C:\Apps\&lt;STRONG&gt;Intel2018&lt;/STRONG&gt;\compilers_and_libraries_2018\windows\redist\intel64\mkl\&lt;BR /&gt;LoadLibrary succeeded&lt;BR /&gt;GetDllDirectoryA succeeded&lt;BR /&gt;C:\Apps\Intel2018\compilers_and_libraries_2018\windows\redist\intel64\mkl\&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;.... version 2019.....&lt;BR /&gt;SetDllDirectoryA succeeded&lt;BR /&gt;GetDllDirectoryA succeeded&lt;BR /&gt;C:\Apps\&lt;STRONG&gt;Intel2019&lt;/STRONG&gt;\compilers_and_libraries_2019\windows\redist\intel64\mkl\&lt;BR /&gt;LoadLibrary succeeded&lt;BR /&gt;GetDllDirectoryA succeeded&lt;BR /&gt;C:\Apps\Intel2019\compilers_and_libraries_2019\windows\redist\intel64\mkl\&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;.... version 2020.....&lt;BR /&gt;SetDllDirectoryA succeeded&lt;BR /&gt;GetDllDirectoryA succeeded&lt;BR /&gt;C:\Apps\&lt;STRONG&gt;Intel2020&lt;/STRONG&gt;\compilers_and_libraries_2020\windows\redist\intel64\mkl\&lt;BR /&gt;LoadLibrary succeeded&lt;BR /&gt;GetDllDirectoryA succeeded&lt;BR /&gt;C:\Apps\Intel2020\compilers_and_libraries_2020\windows\redist\intel64\mkl\&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2020 04:16:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179427#M29217</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-01-30T04:16:02Z</dc:date>
    </item>
    <item>
      <title>one more thing from our side</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179428#M29218</link>
      <description>&lt;P&gt;one more thing from our side - the example of the code I&amp;nbsp;used is attached.&lt;/P&gt;&lt;P&gt;compiling: &lt;STRONG&gt;cl&amp;nbsp;test_mkl_loading.cpp&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;cl version:&amp;nbsp;Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x64&lt;BR /&gt;Copyright (C) Microsoft Corporation. &amp;nbsp;All rights reserved.&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2020 04:19:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179428#M29218</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-01-30T04:19:52Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179429#M29219</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I don't think you can load three different DLLs with the same name. What happens when you load the 2020 version first?&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2020 05:59:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179429#M29219</guid>
      <dc:creator>Christoph_Gohlke</dc:creator>
      <dc:date>2020-01-30T05:59:27Z</dc:date>
    </item>
    <item>
      <title>yes, in the case if the only</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179430#M29220</link>
      <description>&lt;P&gt;yes, in the case if the only version is called the&amp;nbsp;GetDllDirectoryA() reports the failure&lt;/P&gt;&lt;P&gt;SetDllDirectoryA succeeded&lt;BR /&gt;GetDllDirectoryA succeeded&lt;BR /&gt;C:\Apps\Intel2020\compilers_and_libraries_2020\windows\redist\intel64\mkl\&lt;BR /&gt;LoadLibrary succeeded&lt;BR /&gt;GetDllDirectoryA failed&lt;/P&gt;</description>
      <pubDate>Mon, 03 Feb 2020 06:00:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179430#M29220</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-02-03T06:00:27Z</dc:date>
    </item>
    <item>
      <title>debugging the code under VS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179431#M29221</link>
      <description>&lt;P&gt;debugging the code under VS 2015 - I see the case is passed and the output buffer contains the correct directory...&lt;/P&gt;</description>
      <pubDate>Mon, 03 Feb 2020 06:21:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179431#M29221</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-02-03T06:21:35Z</dc:date>
    </item>
    <item>
      <title>the issue is escalated and we</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179432#M29222</link>
      <description>&lt;P&gt;the issue is escalated and we will keep you informed when the fix of the problem will be available into official build of Intel MKL.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Feb 2020 02:52:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179432#M29222</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-02-04T02:52:08Z</dc:date>
    </item>
    <item>
      <title>This issue has come up with</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179433#M29223</link>
      <description>&lt;P&gt;This issue has come up with some of our customers at NAG. Could you please let us know if there is a timescale for the fix? (Is it expected in 2020.1?)&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 10 Mar 2020 12:46:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179433#M29223</guid>
      <dc:creator>Cross__Mat</dc:creator>
      <dc:date>2020-03-10T12:46:00Z</dc:date>
    </item>
    <item>
      <title>yes, the expected version is</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179434#M29224</link>
      <description>&lt;P&gt;yes, the expected version is MKL 2020.1 and the ERT ~ the beginning of the next month. This thread would be updated.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 10 Mar 2020 13:44:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179434#M29224</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-03-10T13:44:06Z</dc:date>
    </item>
    <item>
      <title>The fix of the issue</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179435#M29225</link>
      <description>&lt;P&gt;The fix of the issue available in MKL 2020 update 1 which available for download.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Apr 2020 15:14:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Loading-MKL-2020-mkl-core-dll-resets-the-DLL-search-order-on/m-p/1179435#M29225</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-04-02T15:14:21Z</dc:date>
    </item>
  </channel>
</rss>

