<?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 Custom Dynamic-link Library Builder and MKL_DIRECT_CALL in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063102#M21798</link>
    <description>&lt;P&gt;I'd like to set the&amp;nbsp;MKL_DIRECT_CALL flag for the custom MKL dll that we are using from a C application and hopefully speed up the matrix operations. Will it be enough to set the flag for the C application alone? What about the makefile for the custom MKL dll?&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 16 May 2016 11:24:08 GMT</pubDate>
    <dc:creator>Berk</dc:creator>
    <dc:date>2016-05-16T11:24:08Z</dc:date>
    <item>
      <title>Custom Dynamic-link Library Builder and MKL_DIRECT_CALL</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063102#M21798</link>
      <description>&lt;P&gt;I'd like to set the&amp;nbsp;MKL_DIRECT_CALL flag for the custom MKL dll that we are using from a C application and hopefully speed up the matrix operations. Will it be enough to set the flag for the C application alone? What about the makefile for the custom MKL dll?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 16 May 2016 11:24:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063102#M21798</guid>
      <dc:creator>Berk</dc:creator>
      <dc:date>2016-05-16T11:24:08Z</dc:date>
    </item>
    <item>
      <title>Hi, </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063103#M21799</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Are you reading the article,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/improve-intel-mkl-performance-for-small-problems-the-use-of-mkl-direct-call" target="_blank"&gt;https://software.intel.com/en-us/articles/improve-intel-mkl-performance-for-small-problems-the-use-of-mkl-direct-call&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Right?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;MKL_DIRECT_CALL flag is&amp;nbsp;&lt;/SPAN&gt;pre-processor macros to be defined to instruct Intel MKL to pick the fast path for small matrices. &amp;nbsp;It was using during &amp;nbsp;compile phase, &amp;nbsp;so it should be ok for you to add such option&lt;/P&gt;

&lt;P&gt;&amp;nbsp;on Linux system, simply add -DMKL_DIRECT_CALL or -DMKL_DIRECT_CALL_SEQ. On Windows, the syntax is /DMKL_DIRECT_CALL or /DMKL_DIRECT_CALL_SEQ.&lt;/P&gt;

&lt;P&gt;in your makefile &amp;nbsp;(same as&amp;nbsp;/Qstd=c99 ) both for c application and custom MKL Dll.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Ying&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 May 2016 00:33:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063103#M21799</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2016-05-17T00:33:50Z</dc:date>
    </item>
    <item>
      <title>Hi Ying,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063104#M21800</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em; -webkit-text-size-adjust: 100%;"&gt;Hi Ying,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thanks for your reply. Yes I've read the article before posting, and my question was if using MKL by not directly linking with it but via a custom made MKL dll changed anything or not. I especially wanted to know if I needed to declare the flag when building the custom MKL dll, and if so, where &amp;amp; how. It looks trivial to define &amp;amp; use the flag in our main C project that calls the custom MKL dll for matrix operations. I am not sure how to do the same for the custom MKL dll itself, though...&lt;/P&gt;

&lt;P&gt;Berk&lt;/P&gt;</description>
      <pubDate>Tue, 17 May 2016 05:32:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063104#M21800</guid>
      <dc:creator>Berk</dc:creator>
      <dc:date>2016-05-17T05:32:21Z</dc:date>
    </item>
    <item>
      <title>Hi Berk, </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063105#M21801</link>
      <description>&lt;P&gt;Hi Berk,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;We did the investigation. you can&lt;/P&gt;

&lt;P&gt;1)&amp;nbsp;&amp;nbsp;include dgemm_direct and dgemm_direct_&amp;nbsp; in &amp;nbsp;user_example_list. (user_def_file.def) &amp;nbsp;to create custom.dll&lt;/P&gt;

&lt;P&gt;2) then&amp;nbsp;&amp;nbsp;you can just call dgemm() and add –DMKL_DIRECT_CALL with include "mkl.h".&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;BR /&gt;
	Ying&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Jun 2016 04:27:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063105#M21801</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2016-06-03T04:27:01Z</dc:date>
    </item>
    <item>
      <title>Hi Ying,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063106#M21802</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Hi Ying,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thanks for your reply. One final question: Does this flag affect PARDISO at all? If so, how can I set it on my custom dll exposing PARDISO calls to my application?&lt;/P&gt;

&lt;P&gt;Thanks again for you help.&lt;/P&gt;

&lt;P&gt;Berk&lt;/P&gt;</description>
      <pubDate>Sat, 04 Jun 2016 12:17:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Custom-Dynamic-link-Library-Builder-and-MKL-DIRECT-CALL/m-p/1063106#M21802</guid>
      <dc:creator>Berk</dc:creator>
      <dc:date>2016-06-04T12:17:58Z</dc:date>
    </item>
  </channel>
</rss>

