<?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: Question : Level 3 sparse blas provide only sparse x dense  in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892837#M10555</link>
    <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/429860"&gt;kimjoonshikgmail.com&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;Can someone help me ?&lt;BR /&gt;to do sparse matrix-matrix level 3 product I looked upt the sparse blas library index, but I could only find the product of&lt;BR /&gt;&lt;BR /&gt;SPARSE x DENSE matrix case.&lt;BR /&gt;&lt;BR /&gt;are there any function for SPARSE X SPARSE Level 3 function ?&lt;BR /&gt;&lt;BR /&gt;Thank you.&lt;BR /&gt;Joon.&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;what about routines mkl_?csrmultd and mkl_?csrmultcsr? The docs read:&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;The mkl_?csrmultcsr routine performs a matrix-matrix operation defined as C := op(A)*B&lt;BR /&gt;&lt;BR /&gt;where: &lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;A, B, C are the sparse matrices in the CSR format (3-array variation)&lt;/STRONG&gt;;&lt;BR /&gt;&lt;BR /&gt;op(A) is one of op(A) = A, or op(A) =A', or op(A) = conjg(A') .&lt;BR /&gt;&lt;BR /&gt;The routine works correctly if and only if the column indices in sparse matrix representations of matrices A and B are arranged in the increasing order for each row. If not, use the parameter sort (see below) to reorder column indices and the corresponding elements of the input matrices.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;Is that what you're looking for?&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;&lt;BR /&gt;Gennady, is the table &lt;EM&gt;Sparse BLAS Level 2 and Level 3 Routines&lt;/EM&gt; correct for mkl_?csradd and mkl_?csrmultcsr. It states that &lt;STRONG&gt;both&lt;/STRONG&gt; ...Computes the sum of two sparse matrices stored in the CSR format (3-array variation), which is probably wrong for the latter.&lt;BR /&gt;</description>
    <pubDate>Fri, 29 May 2009 00:30:36 GMT</pubDate>
    <dc:creator>ArturGuzik</dc:creator>
    <dc:date>2009-05-29T00:30:36Z</dc:date>
    <item>
      <title>Question : Level 3 sparse blas provide only sparse x dense ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892836#M10554</link>
      <description>Can someone help me ?&lt;BR /&gt;to do sparse matrix-matrix level 3 product I looked upt the sparse blas library index, but I could only find the product of&lt;BR /&gt;&lt;BR /&gt;SPARSE x DENSE matrix case.&lt;BR /&gt;&lt;BR /&gt;are there any function for SPARSE X SPARSE Level 3 function ?&lt;BR /&gt;&lt;BR /&gt;Thank you.&lt;BR /&gt;Joon.</description>
      <pubDate>Thu, 28 May 2009 16:06:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892836#M10554</guid>
      <dc:creator>kimjoonshikgmail_com</dc:creator>
      <dc:date>2009-05-28T16:06:10Z</dc:date>
    </item>
    <item>
      <title>Re: Question : Level 3 sparse blas provide only sparse x dense</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892837#M10555</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/429860"&gt;kimjoonshikgmail.com&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;Can someone help me ?&lt;BR /&gt;to do sparse matrix-matrix level 3 product I looked upt the sparse blas library index, but I could only find the product of&lt;BR /&gt;&lt;BR /&gt;SPARSE x DENSE matrix case.&lt;BR /&gt;&lt;BR /&gt;are there any function for SPARSE X SPARSE Level 3 function ?&lt;BR /&gt;&lt;BR /&gt;Thank you.&lt;BR /&gt;Joon.&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;what about routines mkl_?csrmultd and mkl_?csrmultcsr? The docs read:&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;The mkl_?csrmultcsr routine performs a matrix-matrix operation defined as C := op(A)*B&lt;BR /&gt;&lt;BR /&gt;where: &lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;A, B, C are the sparse matrices in the CSR format (3-array variation)&lt;/STRONG&gt;;&lt;BR /&gt;&lt;BR /&gt;op(A) is one of op(A) = A, or op(A) =A', or op(A) = conjg(A') .&lt;BR /&gt;&lt;BR /&gt;The routine works correctly if and only if the column indices in sparse matrix representations of matrices A and B are arranged in the increasing order for each row. If not, use the parameter sort (see below) to reorder column indices and the corresponding elements of the input matrices.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;Is that what you're looking for?&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;&lt;BR /&gt;Gennady, is the table &lt;EM&gt;Sparse BLAS Level 2 and Level 3 Routines&lt;/EM&gt; correct for mkl_?csradd and mkl_?csrmultcsr. It states that &lt;STRONG&gt;both&lt;/STRONG&gt; ...Computes the sum of two sparse matrices stored in the CSR format (3-array variation), which is probably wrong for the latter.&lt;BR /&gt;</description>
      <pubDate>Fri, 29 May 2009 00:30:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892837#M10555</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-05-29T00:30:36Z</dc:date>
    </item>
    <item>
      <title>Re: Question : Level 3 sparse blas provide only sparse x dense</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892838#M10556</link>
      <description>&lt;DIV style="margin:0px;"&gt;Thank you for the answer I appreciate, I did not know this function, &lt;BR /&gt;by the way, then,for the output c in c = a x b,&lt;BR /&gt;&lt;BR /&gt;how do we determine the size of the array for the result cto allocate memory ?&lt;BR /&gt;Don't we need to allocate memory for c when we use the function csrmultcsr ?&lt;BR /&gt;&lt;BR /&gt;Thank you.&lt;BR /&gt;Joon.&lt;/DIV&gt;</description>
      <pubDate>Fri, 29 May 2009 16:40:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892838#M10556</guid>
      <dc:creator>kimjoonshikgmail_com</dc:creator>
      <dc:date>2009-05-29T16:40:55Z</dc:date>
    </item>
    <item>
      <title>Re: Question : Level 3 sparse blas provide only sparse x dense</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892839#M10557</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/429860"&gt;kimjoonshikgmail.com&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;Thank you for the answer I appreciate, I did not know this function, &lt;BR /&gt;by the way, then,for the output c in c = a x b,&lt;BR /&gt;&lt;BR /&gt; how do we determine the size of the array for the result cto allocate memory ?&lt;BR /&gt;Don't we need to allocate memory for c when we use the function csrmultcsr ?&lt;BR /&gt;&lt;BR /&gt;Thank you.&lt;BR /&gt;Joon.&lt;/DIV&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;"Everything must go somewhere", so ... you need (to allocate). There is a parameter (input):&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;nzmax INTEGER. The length of the arrays c and jc.&lt;BR /&gt;This parameter is used only if request=0 &lt;/EM&gt;&lt;STRONG&gt;(means here multiplication)&lt;/STRONG&gt;&lt;EM&gt;. The routine stops calculation if the number of elements in the result matrix C exceeds the specified value of nzmax.&lt;BR /&gt;&lt;/EM&gt;&lt;BR /&gt;There is an example on the disk.&lt;BR /&gt;&lt;BR /&gt;dir-&amp;gt; &amp;lt;&lt;EM&gt;your install folder&lt;/EM&gt;&amp;gt;mklexamplesspblassource&lt;BR /&gt;file -&amp;gt; dcsr_multiplication.f&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;</description>
      <pubDate>Sat, 30 May 2009 03:21:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892839#M10557</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-05-30T03:21:50Z</dc:date>
    </item>
    <item>
      <title>Re: Question : Level 3 sparse blas provide only sparse x dense</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892840#M10558</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/429860"&gt;kimjoonshikgmail.com&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;Thank you for the answer I appreciate, I did not know this function, &lt;BR /&gt;by the way, then,for the output c in c = a x b,&lt;BR /&gt;&lt;BR /&gt;how do we determine the size of the array for the result cto allocate memory ?&lt;BR /&gt;Don't we need to allocate memory for c when we use the function csrmultcsr ?&lt;BR /&gt;&lt;BR /&gt;Thank you.&lt;BR /&gt;Joon.&lt;/DIV&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;&lt;BR /&gt;The size of the column indicesand value arrays in the result sparse matrixcan be determined by calling csrmultcsr with request=1. After allocation of the column indices and value arrays, the routine should be called with request 2&lt;BR /&gt;&lt;BR /&gt;"If &lt;EM&gt;request&lt;/EM&gt;=0, the routine performs multiplication, the memory for the output arrays &lt;EM&gt;ic&lt;/EM&gt;, &lt;EM&gt;jc&lt;/EM&gt;, &lt;EM&gt;c &lt;/EM&gt;must be allocated beforehand.
&lt;P align="left"&gt;&lt;BR /&gt;If &lt;EM&gt;request&lt;/EM&gt;=1, the routine computes only values of the array &lt;EM&gt;ic of length &lt;EM&gt;m &lt;/EM&gt;+ 1, the memory for this array must beallocated beforehand. On exit the value &lt;EM&gt;ic&lt;/EM&gt;(&lt;EM&gt;m&lt;/EM&gt;+1) - 1 is the actual number of the elements in the arrays &lt;EM&gt;c &lt;/EM&gt;and &lt;EM&gt;jc&lt;/EM&gt;.&lt;/EM&gt;&lt;/P&gt;
&lt;P align="left"&gt;If &lt;EM&gt;request&lt;/EM&gt;=2, the routine has been called previously with the parameter &lt;EM&gt;request&lt;/EM&gt;=1, the output arrays &lt;EM&gt;jc &lt;/EM&gt;and &lt;EM&gt;c &lt;/EM&gt;are allocated in the calling program and they are of the length ic(&lt;EM&gt;m&lt;/EM&gt;+1)-1 at least."&lt;BR /&gt;&lt;BR /&gt;All the best&lt;BR /&gt;Sergey&lt;/P&gt;</description>
      <pubDate>Tue, 02 Jun 2009 05:56:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Question-Level-3-sparse-blas-provide-only-sparse-x-dense/m-p/892840#M10558</guid>
      <dc:creator>Sergey_K_Intel1</dc:creator>
      <dc:date>2009-06-02T05:56:49Z</dc:date>
    </item>
  </channel>
</rss>

