<?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. in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/side-change-for-mkl-dcsrmm/m-p/1149169#M26958</link>
    <description>&lt;P&gt;Hi.&lt;/P&gt;

&lt;P&gt;In case you need to compute C = A*B with B is sparse you can use C^t = B^t*A^t. The last formula equivalent to&lt;/P&gt;

&lt;P&gt;C_1 = B^t*A_1 where C_1 = C^t and A_1 = A_t&lt;/P&gt;

&lt;P&gt;To compute it you can use sparse_mm functionality with same matrices, opposite layout and transpose flag of sparse matrix&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alex&lt;/P&gt;</description>
    <pubDate>Thu, 05 Jul 2018 19:58:34 GMT</pubDate>
    <dc:creator>Alexander_K_Intel2</dc:creator>
    <dc:date>2018-07-05T19:58:34Z</dc:date>
    <item>
      <title>side change for mkl_dcsrmm</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/side-change-for-mkl-dcsrmm/m-p/1149168#M26957</link>
      <description>&lt;P&gt;Hi all&lt;/P&gt;

&lt;P&gt;the current version of mkl_dcsrmm implements the operations&lt;/P&gt;

&lt;P&gt;C=AB+C and C=A'B+C, where in both cases A is the csr sparse matrix.&lt;/P&gt;

&lt;P&gt;Is there any way/alternative such that B is the csr sparse matrix??&lt;/P&gt;

&lt;P&gt;In my specific application C and A are large dense matrices of dimension eg 3,000,000:70. B is of dimension 70:70 with up to 80% zero coefficients. Ignoring the sparse structure of B would lead to dgemm, but this would cause a large overhead for multiplications with zeros. Also mkl_dcsrmm would be feasible with A and C being transposed before the operation, however, due to their size this is not possible with regard to speed (mkl_dcsrmm is called up to 10,000 times).&lt;/P&gt;

&lt;P&gt;Any suggestions appreciated.&lt;/P&gt;

&lt;P&gt;Cheers&lt;/P&gt;</description>
      <pubDate>Sun, 01 Jul 2018 05:21:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/side-change-for-mkl-dcsrmm/m-p/1149168#M26957</guid>
      <dc:creator>may_ka</dc:creator>
      <dc:date>2018-07-01T05:21:16Z</dc:date>
    </item>
    <item>
      <title>Hi.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/side-change-for-mkl-dcsrmm/m-p/1149169#M26958</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;

&lt;P&gt;In case you need to compute C = A*B with B is sparse you can use C^t = B^t*A^t. The last formula equivalent to&lt;/P&gt;

&lt;P&gt;C_1 = B^t*A_1 where C_1 = C^t and A_1 = A_t&lt;/P&gt;

&lt;P&gt;To compute it you can use sparse_mm functionality with same matrices, opposite layout and transpose flag of sparse matrix&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alex&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jul 2018 19:58:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/side-change-for-mkl-dcsrmm/m-p/1149169#M26958</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2018-07-05T19:58:34Z</dc:date>
    </item>
    <item>
      <title>Hi Alex,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/side-change-for-mkl-dcsrmm/m-p/1149170#M26959</link>
      <description>&lt;P&gt;Hi Alex,&lt;/P&gt;

&lt;P&gt;thanks for the response.&lt;/P&gt;

&lt;P&gt;Does your answer imply that I should transpose the dense matrices before calling the sparse multiplication routine? If so, that is not possible&amp;nbsp; because of their size. The multiplication is called several thousand times, and always transposing two 3,000,000x70 matrices will be to much overhead.&lt;/P&gt;

&lt;P&gt;Or does your answer imply that I can provide transposition flags to one of spares multiplication routines similar to gemm? If so I am only aware that I can supply transposition flags for the sparse matrix but not for the dense.&lt;/P&gt;

&lt;P&gt;Let me know if I am wrong.&lt;/P&gt;

&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jul 2018 02:10:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/side-change-for-mkl-dcsrmm/m-p/1149170#M26959</guid>
      <dc:creator>may_ka</dc:creator>
      <dc:date>2018-07-06T02:10:36Z</dc:date>
    </item>
  </channel>
</rss>

