<?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 Precioso, in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Partial-Matrix-Vector-Multiplication-of-a-Sparse-Matrix/m-p/1149408#M26980</link>
    <description>&lt;P&gt;Hi &lt;A href="https://software.intel.com/en-us/user/1670774"&gt;Precioso,&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;If the&amp;nbsp; &amp;nbsp;&lt;EM&gt;partial&amp;nbsp;&lt;/EM&gt;matrix-vector multiplication, in which &lt;STRONG&gt;only selected rows of the matrix A in a range&lt;/STRONG&gt;&amp;nbsp;,&amp;nbsp; you may try the MKL new Sparse BLAS interface:&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/mkl-developer-reference-c-2018-beta-mkl-sparse-create-csr"&gt;https://software.intel.com/en-us/mkl-developer-reference-c-2018-beta-mkl-sparse-create-csr&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;and &lt;A href="https://software.intel.com/en-us/mkl-developer-reference-c-2018-beta-mkl-sparse-mv"&gt;https://software.intel.com/en-us/mkl-developer-reference-c-2018-beta-mkl-sparse-mv&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/node/f4a80420-8054-446b-a4dd-70b00ed6de80"&gt;&lt;U&gt;&lt;FONT color="#0066cc"&gt;mkl_sparse_?_mv&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;and sample code under MKL install folder.&lt;/P&gt;

&lt;P&gt;and if this is still a question, please create a request to Online Service Center:&amp;nbsp; &lt;A href="https://supporttickets.intel.com/?lang=en-US"&gt;https://supporttickets.intel.com/&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Ying&lt;/P&gt;</description>
    <pubDate>Thu, 02 Nov 2017 02:11:43 GMT</pubDate>
    <dc:creator>Ying_H_Intel</dc:creator>
    <dc:date>2017-11-02T02:11:43Z</dc:date>
    <item>
      <title>Partial Matrix-Vector Multiplication of a Sparse Matrix?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Partial-Matrix-Vector-Multiplication-of-a-Sparse-Matrix/m-p/1149407#M26979</link>
      <description>&lt;P&gt;I use MKL functions "&lt;STRONG&gt;mkl_zcsrsymv&lt;/STRONG&gt;" and "&lt;STRONG&gt;mkl_zcsrmv&lt;/STRONG&gt;" in order to multiply a complex valued sparse matrix A with a vector b (MVP or y=A*b). Now I need to use a &lt;EM&gt;partial&amp;nbsp;&lt;/EM&gt;matrix-vector multiplication, in which &lt;STRONG&gt;only selected rows of the matrix A in a range&lt;/STRONG&gt; specified by&amp;nbsp; &lt;EM&gt;rowStart&lt;/EM&gt;&lt;EM&gt; &lt;/EM&gt;to &lt;EM&gt;rowEnd&lt;/EM&gt;&amp;nbsp;needs to be multiplied by the vector b in its efficient way. How can I perform&amp;nbsp;such a multiplication&amp;nbsp;with these functions?&amp;nbsp; &amp;nbsp;is there any other MVP routine in MKL library for such a need? As the matrix is in CSR format, this should be applied to the internal loop for doing the MVP for every row and the range of that loop should be from&amp;nbsp;&lt;EM&gt;rowStart&lt;/EM&gt; &lt;EM style="font-size: 13.008px;"&gt;&amp;nbsp;&lt;/EM&gt;&lt;SPAN style="font-size: 13.008px;"&gt;to&amp;nbsp;&lt;/SPAN&gt; &lt;EM&gt;rowEnd&lt;/EM&gt;&amp;nbsp;, but I was not successful&amp;nbsp;in finding an approach to transfer such info? Thank you for your comments.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 03:00:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Partial-Matrix-Vector-Multiplication-of-a-Sparse-Matrix/m-p/1149407#M26979</guid>
      <dc:creator>Precioso__Ali</dc:creator>
      <dc:date>2017-10-31T03:00:50Z</dc:date>
    </item>
    <item>
      <title>Hi Precioso,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Partial-Matrix-Vector-Multiplication-of-a-Sparse-Matrix/m-p/1149408#M26980</link>
      <description>&lt;P&gt;Hi &lt;A href="https://software.intel.com/en-us/user/1670774"&gt;Precioso,&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;If the&amp;nbsp; &amp;nbsp;&lt;EM&gt;partial&amp;nbsp;&lt;/EM&gt;matrix-vector multiplication, in which &lt;STRONG&gt;only selected rows of the matrix A in a range&lt;/STRONG&gt;&amp;nbsp;,&amp;nbsp; you may try the MKL new Sparse BLAS interface:&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/mkl-developer-reference-c-2018-beta-mkl-sparse-create-csr"&gt;https://software.intel.com/en-us/mkl-developer-reference-c-2018-beta-mkl-sparse-create-csr&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;and &lt;A href="https://software.intel.com/en-us/mkl-developer-reference-c-2018-beta-mkl-sparse-mv"&gt;https://software.intel.com/en-us/mkl-developer-reference-c-2018-beta-mkl-sparse-mv&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/node/f4a80420-8054-446b-a4dd-70b00ed6de80"&gt;&lt;U&gt;&lt;FONT color="#0066cc"&gt;mkl_sparse_?_mv&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;and sample code under MKL install folder.&lt;/P&gt;

&lt;P&gt;and if this is still a question, please create a request to Online Service Center:&amp;nbsp; &lt;A href="https://supporttickets.intel.com/?lang=en-US"&gt;https://supporttickets.intel.com/&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Ying&lt;/P&gt;</description>
      <pubDate>Thu, 02 Nov 2017 02:11:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Partial-Matrix-Vector-Multiplication-of-a-Sparse-Matrix/m-p/1149408#M26980</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2017-11-02T02:11:43Z</dc:date>
    </item>
    <item>
      <title>Many thanks for your comment.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Partial-Matrix-Vector-Multiplication-of-a-Sparse-Matrix/m-p/1149409#M26981</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Many thanks&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em; -webkit-text-size-adjust: 100%;"&gt;for your comment.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Yes indeed this way of inspector-executor BLAS operation would work to command MVP on selected rows of a general type sparse matrix (mkl_zcsrmv). &amp;nbsp;I am also wondering if same sort of partial operation can be applied to the multiplication of the &lt;STRONG&gt;inverse components&amp;nbsp;&lt;/STRONG&gt;computed by PARDISO routine in MKL. Here is exactly what is needed:&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Currently the &amp;nbsp;dss_create is being used to initialize the sparse solver and pre compute factorization components of the matrix A. The handle and its data stucture are being used repeatedly later to compute the operation y=inv (A)*b. The inv (A) however is block structured, having non-zeros only in some diagonal blocks and zero coupling everywhere between the blocks ( i.e. it could be represented by the sum of multiple inverse operations for each block and appropriate indexing). Is it possible to call the&amp;nbsp;operation y=inv (A)*b partially by specifying a range &amp;nbsp;of desired rows of the matrix inv(A)? How is it possible to access to the internal data of the PARDISO handle created by&amp;nbsp;dss_create, like factorization components (L, D, L transposed) or pivoting data, to be multiplied partially in a specified range of rows with the right hands side vector b? This, in combination with partial MVP, is really needed for the block Gauss Seidel inversion of block-structured sparse matrices and I hope there is a solution for it. &amp;nbsp;Thank you in advance.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Nov 2017 15:47:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Partial-Matrix-Vector-Multiplication-of-a-Sparse-Matrix/m-p/1149409#M26981</guid>
      <dc:creator>Precioso__Ali</dc:creator>
      <dc:date>2017-11-02T15:47:00Z</dc:date>
    </item>
  </channel>
</rss>

