<?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 BUG: Buffer Overrun in mkl_dcsrcsc in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-Buffer-Overrun-in-mkl-dcsrcsc/m-p/795771#M2669</link>
    <description>The mkl_dcsrcsc function has a buffer overrun when used on rectangular matrices. It seems to confuse rows and columns when writing the ia / ia1 buffer. See the attached minimal test program for a demonstration of the problem.&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;This was verified with mkl10.2.5.0.35 and mkl 10.3.0.025.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Best regards,&lt;BR /&gt;&lt;BR /&gt;Brian&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;This is the output I get for the test program&lt;/DIV&gt;&lt;DIV&gt;&lt;SUP&gt;&lt;/SUP&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Input&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Values:  11 12 13 14 15&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;colIndex: 1 2 1 2 2&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;colStart: 1 2 3 5&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt; 11   *&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;  *   12&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt; 13   14&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;  *   15&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Output&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Values:  11 13 12 14 15&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;colIndex: 1 3 2 3 4&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;colStart: 1 3&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt; 11   *   13   *&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;  *   12   14   15&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Out of bounds access to entry 3 of out_colStart, expected -1 but got 6&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Out of bounds access to entry 4 of out_colStart, expected -1 but got 6&lt;/SUP&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Thu, 17 Jun 2010 09:36:03 GMT</pubDate>
    <dc:creator>bamberg</dc:creator>
    <dc:date>2010-06-17T09:36:03Z</dc:date>
    <item>
      <title>BUG: Buffer Overrun in mkl_dcsrcsc</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-Buffer-Overrun-in-mkl-dcsrcsc/m-p/795771#M2669</link>
      <description>The mkl_dcsrcsc function has a buffer overrun when used on rectangular matrices. It seems to confuse rows and columns when writing the ia / ia1 buffer. See the attached minimal test program for a demonstration of the problem.&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;This was verified with mkl10.2.5.0.35 and mkl 10.3.0.025.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Best regards,&lt;BR /&gt;&lt;BR /&gt;Brian&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;This is the output I get for the test program&lt;/DIV&gt;&lt;DIV&gt;&lt;SUP&gt;&lt;/SUP&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Input&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Values:  11 12 13 14 15&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;colIndex: 1 2 1 2 2&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;colStart: 1 2 3 5&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt; 11   *&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;  *   12&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt; 13   14&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;  *   15&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Output&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Values:  11 13 12 14 15&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;colIndex: 1 3 2 3 4&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;colStart: 1 3&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt; 11   *   13   *&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;  *   12   14   15&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Out of bounds access to entry 3 of out_colStart, expected -1 but got 6&lt;/SUP&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SUP&gt;Out of bounds access to entry 4 of out_colStart, expected -1 but got 6&lt;/SUP&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 17 Jun 2010 09:36:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-Buffer-Overrun-in-mkl-dcsrcsc/m-p/795771#M2669</guid>
      <dc:creator>bamberg</dc:creator>
      <dc:date>2010-06-17T09:36:03Z</dc:date>
    </item>
    <item>
      <title>BUG: Buffer Overrun in mkl_dcsrcsc</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-Buffer-Overrun-in-mkl-dcsrcsc/m-p/795772#M2670</link>
      <description>&lt;P&gt;Hi Brian, &lt;BR /&gt;&lt;BR /&gt;Thanks a lot for the small test case! We can reproduce the problem with it. I get same result as yours. &lt;BR /&gt;&lt;BR /&gt;But the result may be expected if we consider the fact of the routinetakethe sparse matrix as square matrices by default.(Thisinfo seems be missed mkldocumentation. I will ask ourdoc developer to add such claim.). &lt;BR /&gt;For example, the parameter m INTEGER. Dimension of the matrix A.We give it 4 as input, &lt;BR /&gt;as a result, it thought the sparse matrix is 4x4.Thus, theresult matrix should be &lt;BR /&gt;&lt;BR /&gt;11 ** *&lt;BR /&gt; *12**&lt;BR /&gt;1314 * *&lt;BR /&gt; *15 * *&lt;/P&gt;&lt;DIV id="_mcePaste"&gt;The colIndex: 1 32 3 4 is explained as row in CSC format ( Valume, Row, ColumnIndex) &lt;BR /&gt;&lt;BR /&gt;&lt;DIV id="_mcePaste"&gt;Value: 11, 13, 12, 14, 15&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;The out_colStart will be explained as column Index in CSC . It is array with m+1=5 elements. Thusit is 1, 3, 6, 6, 6. according to the below definition.&lt;BR /&gt;ia1 INTEGER. Array of length m + 1, containing indices of elements in the array acsc, such that ia(I) is&lt;BR /&gt;the index in the array acsc of the first non-zero element ia1 from thecolumn I. The value of the last element ia(m + 1)&lt;BR /&gt;is equal to the number of non-zeros plus one. &lt;BR /&gt;&lt;BR /&gt;(It is ok to explainthem as ( Value,Column,RowIndex) inCSCifthe matrix is transposed in your case)&lt;BR /&gt;&lt;BR /&gt;&lt;SUP&gt;Thanks&lt;BR /&gt;Ying &lt;/SUP&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 18 Jun 2010 03:02:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-Buffer-Overrun-in-mkl-dcsrcsc/m-p/795772#M2670</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2010-06-18T03:02:28Z</dc:date>
    </item>
  </channel>
</rss>

