<?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 Re: mkl_sparse_sp2m clarifications seeked in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-sparse-sp2m-clarifications-seeked/m-p/1205514#M29993</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/77816"&gt;@may_ka&lt;/a&gt;,&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The output format is decided internally in the routine and might also depends on the flags in the descriptor.
&lt;UL&gt;
&lt;LI&gt;Currently, sp2m routine supports mixed formats of the inputs only for CSR/CSC (first appeared around MKL 2019u4 or so). &lt;BR /&gt;Unfortunately, there is no easy ~ single-line way currently to check the output format.&lt;BR /&gt;One way is to test the formats by calling export routine and checking the status of the export_&amp;lt;format&amp;gt; routine (not very elegant, sure). Another way is to call a convert operation if you want your output to be in a specific format.&amp;nbsp;&lt;BR /&gt;If you're using a different format than CSR/CSC, then I believe the output format will be the same as the format of the input (BSR or COO).&lt;/LI&gt;
&lt;LI&gt;You're right, C must not be initialized. Otherwise a memory leak will occur since C will be reallocated in sp2m.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;pointerB and pointerE are different for 4-array CSR. Internally, MKL AFAIK does not create 4-array CSR so the output of sp2m (if CSR format) will be a 3-array CSR which means that pointerE = pointerB&amp;nbsp;+ 1.&lt;/LI&gt;
&lt;LI&gt;Again, you're correct. The output column/row indices for sp2m are not sorted, this is implied by the algorithm currently used. In order to sort the indices, one can call mkl_sparse_order for C afterwards.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;I hope this helps.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;BR /&gt;Kirill&lt;/P&gt;</description>
    <pubDate>Mon, 31 Aug 2020 15:50:37 GMT</pubDate>
    <dc:creator>Kirill_V_Intel</dc:creator>
    <dc:date>2020-08-31T15:50:37Z</dc:date>
    <item>
      <title>mkl_sparse_sp2m clarifications seeked</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-sparse-sp2m-clarifications-seeked/m-p/1205282#M29982</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/66444"&gt;@intel&lt;/a&gt; mkl team&lt;/P&gt;
&lt;P&gt;after consulting the most recent manual about the mkl_sparse_sp2m routine I still couldn't work out the following&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;what is the output format of the newly created matrix C (csc, csr or bsr)?
&lt;UL&gt;
&lt;LI&gt;My understanding is that mkl_sparse_sp2m supports mixed operations between csc and csr, csc and bsr, and csr and bsr, therefore determining the output format from the input format is ambiguous.&lt;/LI&gt;
&lt;LI&gt;Further, from my understanding, according to&amp;nbsp;&lt;A href="https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-sparse-sp2m-Conditional-jump-or-move/m-p/1175353" target="_self"&gt;here&lt;/A&gt;&amp;nbsp; C must not be initialized by routines like "MKL_SPARSE_D_CREATE_CSR". It is only required to allocate the "SPARSE_MATRIX_TYPE" container. then determining the output format type from the type of C seems not possible&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;on exit are pointerE and pointerB are unique arrays (point to non-overlapping sections of memory)?&lt;/LI&gt;
&lt;LI&gt;is the content of row_indx/col_indx supposed to be sorted (as required by the three-array variation)?
&lt;UL&gt;
&lt;LI&gt;from the example I have run with A and B are both csr matrices col_indx of C seems to be unsorted.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks a lot.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 30 Aug 2020 03:14:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-sparse-sp2m-clarifications-seeked/m-p/1205282#M29982</guid>
      <dc:creator>may_ka</dc:creator>
      <dc:date>2020-08-30T03:14:21Z</dc:date>
    </item>
    <item>
      <title>Re: mkl_sparse_sp2m clarifications seeked</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-sparse-sp2m-clarifications-seeked/m-p/1205514#M29993</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/77816"&gt;@may_ka&lt;/a&gt;,&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The output format is decided internally in the routine and might also depends on the flags in the descriptor.
&lt;UL&gt;
&lt;LI&gt;Currently, sp2m routine supports mixed formats of the inputs only for CSR/CSC (first appeared around MKL 2019u4 or so). &lt;BR /&gt;Unfortunately, there is no easy ~ single-line way currently to check the output format.&lt;BR /&gt;One way is to test the formats by calling export routine and checking the status of the export_&amp;lt;format&amp;gt; routine (not very elegant, sure). Another way is to call a convert operation if you want your output to be in a specific format.&amp;nbsp;&lt;BR /&gt;If you're using a different format than CSR/CSC, then I believe the output format will be the same as the format of the input (BSR or COO).&lt;/LI&gt;
&lt;LI&gt;You're right, C must not be initialized. Otherwise a memory leak will occur since C will be reallocated in sp2m.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;pointerB and pointerE are different for 4-array CSR. Internally, MKL AFAIK does not create 4-array CSR so the output of sp2m (if CSR format) will be a 3-array CSR which means that pointerE = pointerB&amp;nbsp;+ 1.&lt;/LI&gt;
&lt;LI&gt;Again, you're correct. The output column/row indices for sp2m are not sorted, this is implied by the algorithm currently used. In order to sort the indices, one can call mkl_sparse_order for C afterwards.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;I hope this helps.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;BR /&gt;Kirill&lt;/P&gt;</description>
      <pubDate>Mon, 31 Aug 2020 15:50:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-sparse-sp2m-clarifications-seeked/m-p/1205514#M29993</guid>
      <dc:creator>Kirill_V_Intel</dc:creator>
      <dc:date>2020-08-31T15:50:37Z</dc:date>
    </item>
    <item>
      <title>Re:mkl_sparse_sp2m clarifications seeked</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-sparse-sp2m-clarifications-seeked/m-p/1206386#M30000</link>
      <description>&lt;P&gt;This issue has been resolved and we will no longer respond to this thread.&amp;nbsp;If you require additional assistance from Intel, please start a new thread.&amp;nbsp;Any further interaction in this thread will be considered community only&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 03 Sep 2020 11:45:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-sparse-sp2m-clarifications-seeked/m-p/1206386#M30000</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-09-03T11:45:17Z</dc:date>
    </item>
  </channel>
</rss>

