<?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 Hi Jing, in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934984#M14037</link>
    <description>&lt;P&gt;Hi Jing,&lt;/P&gt;
&lt;P&gt;From the math perspective, the algorithm itself&amp;nbsp;should same, to&amp;nbsp;computes matrix - matrix product of a sparse matrix stored in the CSR format. But they may use different optimizate method to accelerate the functions.&amp;nbsp;Regarding optimize methods,&amp;nbsp;it&amp;nbsp;may&amp;nbsp;depend on many factors, for example,&amp;nbsp;&lt;A href="http://en.wikipedia.org/wiki/Program_optimization"&gt;http://en.wikipedia.org/wiki/Program_optimization&lt;/A&gt;&amp;nbsp;and&amp;nbsp; &lt;A href="http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html"&gt;&lt;EM&gt;Intel&lt;/EM&gt;® 64 and IA-32 Architectures&amp;nbsp;&lt;EM&gt;Optimization&lt;/EM&gt;&amp;nbsp;Reference Manual&lt;/A&gt;.&amp;nbsp; That is&amp;nbsp; kernel value of MKL provide to developers.&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Ying&lt;/P&gt;</description>
    <pubDate>Fri, 27 Sep 2013 08:47:09 GMT</pubDate>
    <dc:creator>Ying_H_Intel</dc:creator>
    <dc:date>2013-09-27T08:47:09Z</dc:date>
    <item>
      <title>/iface option cause mkl_dcsrmm error</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934979#M14032</link>
      <description>&lt;P&gt;I tried test the MKL subroutine mkl_dcsrmm on my 64-bit windows 7 with visual studio 2010 and Intel Fortran composer 2013. If I set the /iface as default, the subroutine mkl_dcsrmm worked fine. But once I changed /iface option as /iface:mixed_str_len_arg, the mkl_dscrmm reported error. Here is my code&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; program test&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; implicit none&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer&amp;nbsp; m,&amp;nbsp; nnz, mnew, nnz1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameter( m = 5,&amp;nbsp; nnz=13, mnew=3, nnz1=9)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*8&amp;nbsp; values(nnz), values1(nnz1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer columns(nnz), rowIndex(m+1), columns1(nnz1), rowIndex1(m+1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer pointerB(m) , pointerE(m)&lt;BR /&gt;&lt;BR /&gt;!&amp;nbsp;&amp;nbsp;&amp;nbsp; Sparse representation of the matrix A&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data values/1.d0, -1.d0, -3.d0, -2.d0, 5.d0,4.d0, 6.d0, 4.d0, -4.d0, 2.d0, 7.d0, 8.d0, -5.d0/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data rowIndex/1, 4,&amp;nbsp; 6,&amp;nbsp; 9,&amp;nbsp; 12, 14/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data columns/1, 2, 4, 1, 2, 3, 4, 5, 1, 3, 4, 2, 5/&lt;BR /&gt;&lt;BR /&gt;!&amp;nbsp;&amp;nbsp;&amp;nbsp; Declaration of local variables :&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer n&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameter (n=2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*8 rhs(m, n), sol(m, n), temp(m, n)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data sol/1.D0, 1.D0, 1.D0, 1.D0, 1.D0,5.D0, 4.D0, 3.D0, 2.D0, 1.D0/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*8 alpha, beta&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data alpha/1.d0/, beta/0.d0/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer i, j, is&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call mkl_dcsrmm('t', m, n, m, alpha, 'tln', &amp;amp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values, columns, rowIndex, rowindex(2), sol, m,&amp;nbsp; beta, rhs,&amp;nbsp; m)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&amp;nbsp; program test&lt;/P&gt;
&lt;P&gt;How can I fix it?&amp;nbsp; Thanks in advance.&lt;/P&gt;
&lt;P&gt;Jing&lt;/P&gt;</description>
      <pubDate>Fri, 20 Sep 2013 22:29:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934979#M14032</guid>
      <dc:creator>Jing_Q_</dc:creator>
      <dc:date>2013-09-20T22:29:11Z</dc:date>
    </item>
    <item>
      <title>As far as I know, there is no</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934980#M14033</link>
      <description>&lt;P&gt;As far as I know, there is no version of the routine&amp;nbsp;mkl_dscrmm in MKL that is compatible with /iface:mixed_str_len_arg. If you do not need that convention for other routines called from your program, the solution is: simply do not use /iface:iface:mixed_str_len_arg.&lt;/P&gt;
&lt;P&gt;If you need to call non-MKL routines with mixed string length arguments, provide that information by adding !dec$attributes directives in subprograms that call those routines.&lt;/P&gt;</description>
      <pubDate>Fri, 20 Sep 2013 23:09:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934980#M14033</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2013-09-20T23:09:00Z</dc:date>
    </item>
    <item>
      <title>Hi Jing, </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934981#M14034</link>
      <description>&lt;P&gt;Hi Jing,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Mecej4 is right. it is better don't use the /iface:mixed_str_len_arg.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you still perfer to such rule, &amp;nbsp;MKl have supported Compaq visual Fortran*(CVF) (&lt;STRONG&gt;only 32bit&lt;/STRONG&gt;), under this calling conversion, the mixed_str_len_arg is allowed. &amp;nbsp;For example, iface:cvf + mixed_str_len_arg (default) + mkl_intel_s.lib may work.&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Ying&lt;/P&gt;
&lt;P&gt;here is some discription on MKL userguide&lt;/P&gt;
&lt;P&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Although Compaq no longer supports the Compaq Visual Fortran* (CVF) compiler, Intel&lt;BR /&gt;MKL still preserves the CVF interface in IA-32 architecture implementations. This interface&lt;BR /&gt;can be used with the Intel® Fortran Compiler by employing the /Gm compiler option. In the&lt;BR /&gt;following discussion, stdcall is actually the CVF compiler default compilation, which&lt;BR /&gt;differs from stdcall in the way strings are passed to the routine.&lt;BR /&gt;There are both cdecl (default interface of the Microsoft Visual C* application) and stdcall&lt;BR /&gt;(default CVF interface) versions of the library. The cdecl version is called mkl_c.lib and&lt;BR /&gt;the stdcall version is called mkl_s.lib. Their counterparts for dynamic libraries are&lt;BR /&gt;mkl_c_dll.lib and mkl_s_dll.lib. Whether you choose to link with cdecl or stdcall,&lt;BR /&gt;depends on factors that only you can determine&lt;/P&gt;
&lt;P&gt;Using the CVF compiler&lt;BR /&gt;Similarly, the CVF compiler will link with mkl_s[_dll].lib if routines are compiled&lt;BR /&gt;with the default interface. However, if you compile with the option&lt;BR /&gt;/iface=(cref,nomixed_str_len_arg), the compiler will link with&lt;BR /&gt;mkl_c[_dll].lib .&lt;BR /&gt;• Using the Intel® Fortran compiler&lt;BR /&gt;The Intel Fortran compiler will link with mkl_c[_dll].lib by default. If the /Gm&lt;BR /&gt;option is used, call mkl_s[_dll].lib (/Gm enables CVF and Powerstation calling&lt;BR /&gt;convention compatibility, so does /iface:cvf).&lt;/P&gt;</description>
      <pubDate>Sun, 22 Sep 2013 02:51:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934981#M14034</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2013-09-22T02:51:22Z</dc:date>
    </item>
    <item>
      <title>Mecej4 and Ying:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934982#M14035</link>
      <description>&lt;P&gt;Mecej4 and Ying:&lt;/P&gt;
&lt;P&gt;Thanks a lot for your response and explanation. The option of&amp;nbsp; /iface:mixed_str_len_arg is required by my customer. I guess I have to develop the code instead of using MKL library to perform the multiplication between sparse and dense matrix.&lt;/P&gt;
&lt;P&gt;Jing&lt;/P&gt;</description>
      <pubDate>Mon, 23 Sep 2013 14:26:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934982#M14035</guid>
      <dc:creator>Jing_Q_</dc:creator>
      <dc:date>2013-09-23T14:26:52Z</dc:date>
    </item>
    <item>
      <title>Hello, Mecej4 and Ying:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934983#M14036</link>
      <description>&lt;P&gt;Hello, Mecej4 and Ying:&lt;/P&gt;
&lt;P&gt;I composed as code similar to mkl_dcsrmm and test three subroutines: mkl_dcsrmm, dcsrmm in NIST sparse BLAS library and my code. It turns out that mkl_dcsrmm runs much faster than dcsrmm. Just wondering whether the algorithms used in mkl_dcsrmm is different with dcsrmm in sparse BLAS. If so, are the algorithms available to public. &amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 26 Sep 2013 22:11:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934983#M14036</guid>
      <dc:creator>Jing_Q_</dc:creator>
      <dc:date>2013-09-26T22:11:12Z</dc:date>
    </item>
    <item>
      <title>Hi Jing,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934984#M14037</link>
      <description>&lt;P&gt;Hi Jing,&lt;/P&gt;
&lt;P&gt;From the math perspective, the algorithm itself&amp;nbsp;should same, to&amp;nbsp;computes matrix - matrix product of a sparse matrix stored in the CSR format. But they may use different optimizate method to accelerate the functions.&amp;nbsp;Regarding optimize methods,&amp;nbsp;it&amp;nbsp;may&amp;nbsp;depend on many factors, for example,&amp;nbsp;&lt;A href="http://en.wikipedia.org/wiki/Program_optimization"&gt;http://en.wikipedia.org/wiki/Program_optimization&lt;/A&gt;&amp;nbsp;and&amp;nbsp; &lt;A href="http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html"&gt;&lt;EM&gt;Intel&lt;/EM&gt;® 64 and IA-32 Architectures&amp;nbsp;&lt;EM&gt;Optimization&lt;/EM&gt;&amp;nbsp;Reference Manual&lt;/A&gt;.&amp;nbsp; That is&amp;nbsp; kernel value of MKL provide to developers.&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Ying&lt;/P&gt;</description>
      <pubDate>Fri, 27 Sep 2013 08:47:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934984#M14037</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2013-09-27T08:47:09Z</dc:date>
    </item>
    <item>
      <title>Hi Jing,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934985#M14038</link>
      <description>&lt;P&gt;Hi Jing,&lt;/P&gt;
&lt;P&gt;One more question, are you building 64bit or 32bit application?&amp;nbsp; or if use other third-party library?&lt;/P&gt;
&lt;P&gt;As i mentioned, if you only build 32bit application and no&amp;nbsp;other library, &amp;nbsp;you can use cvf call conversion and&amp;nbsp;iface:mixed &amp;nbsp;with mkl_intel_s.lib.&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Ying&lt;/P&gt;</description>
      <pubDate>Fri, 27 Sep 2013 08:51:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934985#M14038</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2013-09-27T08:51:57Z</dc:date>
    </item>
    <item>
      <title>Hi, Ying:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934986#M14039</link>
      <description>&lt;P&gt;Hi, Ying:&lt;/P&gt;
&lt;P&gt;I am building 64-bit application with Intel Visual Fortran now. That's why I can't use mkl_intel_s.lib. :(&amp;nbsp; Since the computational efficiency is really critial in my currrent project, I have to look for the most efficient way.&amp;nbsp; Unfortunately, I don't know much about the code and compiler optimizaion.Whatever, thank you very much again!&lt;/P&gt;
&lt;P&gt;Jing&lt;/P&gt;</description>
      <pubDate>Fri, 27 Sep 2013 14:46:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/iface-option-cause-mkl-dcsrmm-error/m-p/934986#M14039</guid>
      <dc:creator>Jing_Q_</dc:creator>
      <dc:date>2013-09-27T14:46:17Z</dc:date>
    </item>
  </channel>
</rss>

