<?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: sparse matrix - sparse matrix multiplication in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859730#M7367</link>
    <description>&lt;P&gt;Thank you Bruce,&lt;/P&gt;
&lt;P&gt;Iread the manual before posting, and the Level 3 Sparse Blas functions only deal with &lt;EM&gt;one&lt;/EM&gt; sparse matrix and one dense matrix. For example, mkl_dcsrmm &lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;Computes matrix - matrix product of a sparse matrix stored in the CSR format, &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;C &lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;:= &lt;/FONT&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;alpha&lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;*&lt;/FONT&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;A&lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;*&lt;/FONT&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;B &lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;+ &lt;/FONT&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;beta&lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;*&lt;/FONT&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;C &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;with A sparse, but B and Cdense matrices.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Is there a routine that computes theproduct of two sparse matrices without converting one to dense ? Or maybe do you know an efficient way to do this product?&lt;/P&gt;
&lt;P&gt;Cris&lt;/P&gt;</description>
    <pubDate>Wed, 30 May 2007 07:53:12 GMT</pubDate>
    <dc:creator>pradalunga</dc:creator>
    <dc:date>2007-05-30T07:53:12Z</dc:date>
    <item>
      <title>sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859727#M7364</link>
      <description>&lt;P&gt;Hi, &lt;/P&gt;
&lt;P&gt;I want to compute the product of two sparse matrices, simply C=A*B where A,B and C are sparse. I use the sparsiety because I'm working with a very large data, and I cannot use dense matrices for memory insufficiency. Aren't there any MKL functions that do this operation? Maybe there's a banal solution but I'm a "principiant" of programmation..&lt;/P&gt;
&lt;P&gt;Thanks a lot,&lt;/P&gt;
&lt;P&gt;Cristian&lt;/P&gt;</description>
      <pubDate>Tue, 29 May 2007 14:39:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859727#M7364</guid>
      <dc:creator>pradalunga</dc:creator>
      <dc:date>2007-05-29T14:39:19Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859728#M7365</link>
      <description>Have you looked at sparskit (blassm)?&lt;BR /&gt;&lt;A href="http://www-users.cs.umn.edu/%7Esaad/software/SPARSKIT/sparskit.html"&gt;http://www-users.cs.umn.edu/~saad/software/SPARSKIT/sparskit.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 29 May 2007 22:34:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859728#M7365</guid>
      <dc:creator>Tabrez_Ali</dc:creator>
      <dc:date>2007-05-29T22:34:02Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859729#M7366</link>
      <description>&lt;P&gt;Actually MKL has sparse version of all the BLAS including matrix multiplication support. There is support far a number of different sparse formats including compressed sparse row and column, skyline, diagonal, coordinate and block sparse row. Check the BLAS section of the manual for more information on how to use these functions.&lt;/P&gt;
&lt;P&gt;Bruce&lt;/P&gt;</description>
      <pubDate>Tue, 29 May 2007 23:10:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859729#M7366</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2007-05-29T23:10:04Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859730#M7367</link>
      <description>&lt;P&gt;Thank you Bruce,&lt;/P&gt;
&lt;P&gt;Iread the manual before posting, and the Level 3 Sparse Blas functions only deal with &lt;EM&gt;one&lt;/EM&gt; sparse matrix and one dense matrix. For example, mkl_dcsrmm &lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;Computes matrix - matrix product of a sparse matrix stored in the CSR format, &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;C &lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;:= &lt;/FONT&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;alpha&lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;*&lt;/FONT&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;A&lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;*&lt;/FONT&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;B &lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;+ &lt;/FONT&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;beta&lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;*&lt;/FONT&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;C &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;&lt;FONT face="TimesNewRomanPS-ItalicMT" size="3"&gt;with A sparse, but B and Cdense matrices.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Is there a routine that computes theproduct of two sparse matrices without converting one to dense ? Or maybe do you know an efficient way to do this product?&lt;/P&gt;
&lt;P&gt;Cris&lt;/P&gt;</description>
      <pubDate>Wed, 30 May 2007 07:53:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859730#M7367</guid>
      <dc:creator>pradalunga</dc:creator>
      <dc:date>2007-05-30T07:53:12Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859731#M7368</link>
      <description>&lt;P&gt;Sorry for assuming that you may have missed the information in manual.&lt;/P&gt;
&lt;P&gt;Your problem is interesting. I don't know what is available, in general. Certainly MKL does not have anything like this. Can you indicate what kind of problem requires this functionality and what the matrix characteristics are? For instance, it seems to me that the sparse row entries of A would have to have corresponding sparse column entries in B.&lt;/P&gt;
&lt;P&gt;Bruce&lt;/P&gt;</description>
      <pubDate>Tue, 05 Jun 2007 17:08:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859731#M7368</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2007-06-05T17:08:20Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859732#M7369</link>
      <description>I stumble onto this post doing some research on the subject. A potential application, in fact the one I am working on, is the generation of the sparse matrix representation of a discretized differential operators, arising from PDEs. It is much easier to assemble the final operator as a product of simple operation (e.g., one sided derivatives) than to write the operator from scratch. amub (and aplb) from SPARSEKIT2 (see above) works well from this point of view, but it would be nice to have an optimized version. For instance, for many PDEs, the sparse matrices are almost always banded, which I think could be exploited to optmized the multiplication process...&lt;BR /&gt;&lt;BR /&gt;Thank you&lt;BR /&gt;Alberto&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 05 Jun 2007 20:27:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859732#M7369</guid>
      <dc:creator>ascotti</dc:creator>
      <dc:date>2007-06-05T20:27:19Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859733#M7370</link>
      <description>&lt;P&gt;Alberto,&lt;/P&gt;
&lt;P&gt;Thanks. I will have our Sparse BLAS expert take a look at this issue.&lt;/P&gt;
&lt;P&gt;Bruce&lt;/P&gt;</description>
      <pubDate>Mon, 11 Jun 2007 20:59:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859733#M7370</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2007-06-11T20:59:17Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859734#M7371</link>
      <description>It would be interesting to see if anything comes of this.  I've looked at SPARSKITv2 because a sparse x sparse matrix multiply comes up in my code.</description>
      <pubDate>Wed, 13 Jun 2007 02:22:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859734#M7371</guid>
      <dc:creator>Dishaw__Jim</dc:creator>
      <dc:date>2007-06-13T02:22:41Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859735#M7372</link>
      <description>&lt;P&gt;Dear Alberto&lt;/P&gt;
&lt;P&gt;I'm a MKL developer. The Sparse BLAS routines mentioned by you are under development nowbecause the routines were requested by manyother customers. We are looking for real life tests. So we would be much obliged to you if youcould provide such example. It can be doneby submitting aQuAD report. &lt;/P&gt;
&lt;P&gt;Thanks in advance&lt;/P&gt;
&lt;P&gt;Sergey&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jul 2007 11:58:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859735#M7372</guid>
      <dc:creator>Sergey_K_Intel1</dc:creator>
      <dc:date>2007-07-05T11:58:52Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859736#M7373</link>
      <description>Sergey,&lt;BR /&gt;you can download (if your employer allows it) a package called ellikit that I have developed that makes use of binary sparse-matrix operations (multiplications and additions). The code is rather tersely documented, but you should be able to see quickly how and where amub and aplb are used...&lt;BR /&gt;The tar ball (ellikit.tgz) can be downloaded from &lt;BR /&gt;&lt;BR /&gt;ftp://ftp.unc.edu/pub/marine/ascotti&lt;BR /&gt;&lt;BR /&gt;On a related note, I have a performance question. Dealing with banded matrixes (symmetric and non), is it better speed-wise to use MKL BLAS routines for banded matrixes or the ones for sparse matrixes. Also, to LU factorize such a matrix (symmetric), am I better off with PARDISO or should I use the BLAS routines?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Thank you&lt;BR /&gt;&lt;BR /&gt;Alberto&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 12 Jul 2007 22:04:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859736#M7373</guid>
      <dc:creator>ascotti</dc:creator>
      <dc:date>2007-07-12T22:04:46Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859737#M7374</link>
      <description>Sergey,&lt;BR /&gt;let me elaborate on the last issue. What I have are matrixes that have non zero entries on the main diagonal and a subset of super and under diagonals, that is the non zero elements are a(j+m,j), with m=...,-m3,-m2,-m1,0,m1,m2,m3,.... So the standard banded storage is not really an option, since it would waste a lot of space on zero entries, yet relative to arbitrary sparse matrices they posses a regularity that I suspect can be employed to speed up the calculation of say a matrix-vector product. Poking around the MKL reference manual I see that there is a diagonal compact storage format. So my actual question is: how much faster is to do sprase-matrix-vector multiplication (or LU decomposition) using the diagonal compact storage scheme vs. the PARDISO CSR scheme? &lt;BR /&gt;&lt;BR /&gt;Thank you&lt;BR /&gt;Alberto&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 13 Jul 2007 01:52:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859737#M7374</guid>
      <dc:creator>ascotti</dc:creator>
      <dc:date>2007-07-13T01:52:56Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859738#M7375</link>
      <description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial; mso-ansi-language: EN-US"&gt;Dear Alberto,&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial; mso-ansi-language: EN-US"&gt;Thank you very much for supplying materials and sorry for the delay taken in answering. Ill try to get your files on Sunday when &lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial; mso-ansi-language: EN-US"&gt;Yes I agree with you that the diagonal storage scheme is more appropriate for your matrix structures. As our performance measurements show &lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;the MKL sparse BLAS routines for the diagonal format are in 2-4 times faster than their counterparts for the compressed row format used in PARDISO. However &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial CYR'; mso-ansi-language: EN-US; mso-bidi-font-family: 'Arial CYR'"&gt;the performance of sparse operations also depends on the structure of the matrix, because the distribution of the nonzero elements in a sparse matrix determines the memory access patterns. So the performance advantage varies depending on the structure and additional investigation is needed to find out what is the performance advantage. Please dont forget that MKL Sparse BLAS routines are threaded and since that the performance advantage also depends on the number of threads.&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial CYR'; mso-ansi-language: EN-US; mso-bidi-font-family: 'Arial CYR'"&gt;If you dont mind I have got a couple of questions regarding the sparse matrix operations discussed early. Im very interested in your opinion about what kind of other sparse matrix operations are needed to be optimized and integrated into MKL? For example do you need operations &lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;like &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New CYR'; mso-ansi-language: EN-US"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial; mso-ansi-language: EN-US; mso-bidi-font-family: 'Courier New CYR'"&gt;A^T*B or A*B^T where the symbol &lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;^T means matrix transposed? &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New CYR'; mso-ansi-language: EN-US"&gt;What performance numbers for this type of operation will satisfy you?&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial; mso-ansi-language: EN-US; mso-bidi-font-family: 'Courier New CYR'"&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial; mso-ansi-language: EN-US"&gt;Thank you very much again&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial; mso-ansi-language: EN-US"&gt;All the best&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU; mso-bidi-language: AR-SA"&gt;Sergey&lt;/SPAN&gt;</description>
      <pubDate>Wed, 18 Jul 2007 09:20:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859738#M7375</guid>
      <dc:creator>Sergey_K_Intel1</dc:creator>
      <dc:date>2007-07-18T09:20:14Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859739#M7376</link>
      <description>Sergey,&lt;BR /&gt;ideally, it would be nice to have the functionality offered in SPARSKIT implemented in the MKL (limited, that is to the operations on matrixes), but with the added feature of not being limited to CRS format. CRS (or CCS) is of course a storage scheme that makes the least assumptions (other than sparseness) on the matrix, and as such can accomodate a broad spectrum of matrixes. Typically, matrixes arising from finite elements discretizations of PDEs are not very "structured"  and the CRS is ok. On the other hand, discretization of PDEs using finite volume (or finite differences) lead quite naturally to "structured" sparse matrixes, and in this case the use of routines that take into account the structure should lead to improvement. In fact, the matrices generated in ellikit follow in the latter category, and thus I'd like to rewrite ellikit using diagonal format as opposed to CRS. &lt;BR /&gt;There is an interesting discussion in the documentation of SPARSKIT. It basically points out that the optimal strategy is to write a sparse matrix as a combination of a structured one (e.g. diagonal) + the remainder few "odd points" stashed in CRS. The problem is that product of matrices involve now mixed storage schemes (e.g., diagonal*diagonal, crs*crs, diagonal*crs and crs*diagonal). Unfortunately that increases the number of subroutines needed... Personally, I'd like to see at least diagonal*crs and crs*diagonal implemented in addition to diag*diag and crs*crs. &lt;BR /&gt;&lt;BR /&gt;Hope this helps&lt;BR /&gt;&lt;BR /&gt;Alberto&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 25 Jul 2007 20:20:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859739#M7376</guid>
      <dc:creator>ascotti</dc:creator>
      <dc:date>2007-07-25T20:20:15Z</dc:date>
    </item>
    <item>
      <title>Re: sparse matrix - sparse matrix multiplication</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859740#M7377</link>
      <description>&lt;B&gt;Hi!&lt;BR /&gt;&lt;BR /&gt;As far as I know, there is no such a routine available in the current version of MKL. We have also found the benefit for "sparse x sparse" operation in the field of applied physics (FEM), and therefore implemented the corresponding CSR operation ourselves, actually by using "pair" and "map" structures from C++ standard library for the resulting element ordering, while the relevant linear algebra (multiplications) follows the known rules.&lt;BR /&gt;&lt;BR /&gt;Personally, I think that "sparse = sparse x sparse" operation should be included to the future MKL releases, since researchers from wide areas of scientific computation have encountered the same problem, definitely. Additionally, Intel architecture would exploit the relevant sparsity more efficiently in comparison to "our own implementations".&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="4"&gt;-Villesamuli&lt;/FONT&gt;&lt;/B&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 10 Aug 2007 13:18:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859740#M7377</guid>
      <dc:creator>norppa75</dc:creator>
      <dc:date>2007-08-10T13:18:00Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859741#M7378</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I'm having the same problem as OP. I would like to multiply &lt;EM&gt;two &lt;/EM&gt;sparse matrices in diagonal storage format. Those matrices arise from Finit Differences as part of an QP Problem In the 2018 MKL reference, I haven't found a function that could do it. Only &lt;EM&gt;mkl_ddiamm&lt;/EM&gt;, but that one only accepts &lt;EM&gt;one &lt;/EM&gt;sparse matrix as input.&lt;/P&gt;

&lt;P&gt;Have you guys found a solution yet?&lt;/P&gt;

&lt;P&gt;thanks&lt;/P&gt;

&lt;P&gt;David&lt;/P&gt;</description>
      <pubDate>Fri, 19 Jan 2018 13:27:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-sparse-matrix-multiplication/m-p/859741#M7378</guid>
      <dc:creator>Spinnler__David</dc:creator>
      <dc:date>2018-01-19T13:27:19Z</dc:date>
    </item>
  </channel>
</rss>

