<?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:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used. in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1408801#M33536</link>
    <description>&lt;P&gt;Hi Hong,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for reaching out to us.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Could you please provide us with the steps(or commands to compile and run) you have followed to reproduce the results that you are getting from our end? Because when I tried it, I got different results from yours.&lt;/P&gt;&lt;P&gt;Additionally please let us know your OS environment details and MKL version with which you are working.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
    <pubDate>Wed, 17 Aug 2022 10:00:31 GMT</pubDate>
    <dc:creator>VidyalathaB_Intel</dc:creator>
    <dc:date>2022-08-17T10:00:31Z</dc:date>
    <item>
      <title>Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1408283#M33529</link>
      <description>&lt;DIV&gt;&lt;STRONG&gt;The following code is the simplified structure used for testing.&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;-------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;"mkl_types.h"&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;"mkl_spblas.h"&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;iostream&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;iomanip&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;#include&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;vector&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;template&lt;/SPAN&gt;&lt;SPAN&gt; &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;typename&lt;/SPAN&gt; &lt;SPAN&gt;d_Type&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;struct&lt;/SPAN&gt; &lt;SPAN&gt;COO&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt; &lt;SPAN&gt;matrix_name&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;num_row&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;num_col&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;row_idx&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;col_idx&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;d_Type&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;ele&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;COO&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;sample_coo&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"test_case"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;18&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;9&lt;/SPAN&gt;&lt;SPAN&gt;},&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;9&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;9&lt;/SPAN&gt;&lt;SPAN&gt;},&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;9&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;}};&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;template&lt;/SPAN&gt;&lt;SPAN&gt; &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;typename&lt;/SPAN&gt; &lt;SPAN&gt;d_Type&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;struct&lt;/SPAN&gt; &lt;SPAN&gt;COMPRESSED&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt; &lt;SPAN&gt;matrix_name&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;num_row&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;num_col&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;idx&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;d_Type&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;ele&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;COMPRESSED&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;sample_csc&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"test_case"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;18&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;13&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;15&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;16&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;18&lt;/SPAN&gt;&lt;SPAN&gt;},&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;9&lt;/SPAN&gt;&lt;SPAN&gt;},&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;9&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;}};&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;COMPRESSED&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN&gt;sample_csr&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"test_case"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;18&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;9&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;11&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;12&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;14&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;17&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;18&lt;/SPAN&gt;&lt;SPAN&gt;},&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;9&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;9&lt;/SPAN&gt;&lt;SPAN&gt;},&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;vector&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;9&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;}};&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;float&lt;/SPAN&gt; &lt;SPAN&gt;m_alpha&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;1.0&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;float&lt;/SPAN&gt; &lt;SPAN&gt;m_beta&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0.0&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;print_upto&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;int&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt; &lt;SPAN&gt;num_row&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_coo&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;num_row&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt; &lt;SPAN&gt;num_col&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_coo&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;num_col&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt; &lt;SPAN&gt;num_nz&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_coo&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;m_vec_x&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_col&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;m_vec_b&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_col&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;idx_vec&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;idx_vec&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;num_col&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;idx_vec&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_x&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_vec&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;1.0&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_vec&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0.0&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; // For COO Operation&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;MKL_INT&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;m_row_idx&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;MKL_INT&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;MKL_INT&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;m_col_idx&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;MKL_INT&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;idx&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;idx&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;idx&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_row_idx&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_coo&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;row_idx&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_col_idx&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_coo&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;col_idx&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_coo&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ele&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;sparse_matrix_t&lt;/SPAN&gt; &lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;sparse_status_t&lt;/SPAN&gt; &lt;SPAN&gt;m_status&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;matrix_descr&lt;/SPAN&gt; &lt;SPAN&gt;m_descr_A&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_s_create_coo&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_INDEX_BASE_ZERO&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;num_row&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;num_col&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_row_idx&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_col_idx&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_descr_A&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;type&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sparse_matrix_type_t&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_MATRIX_TYPE_GENERAL&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_optimize&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_s_mv&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;sparse_operation_t&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_OPERATION_NON_TRANSPOSE&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;m_alpha&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_descr_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_x&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_beta&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"COO SpMV:\n"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;print_upto&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;right&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setw&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;scientific&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setprecision&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"\t"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;endl&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_s_mv&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;sparse_operation_t&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_OPERATION_TRANSPOSE&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;m_alpha&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_descr_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_x&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_beta&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"COO SpMV_T:\n"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;print_upto&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;right&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setw&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;scientific&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setprecision&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"\t"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;endl&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;mkl_sparse_destroy&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;delete&lt;/SPAN&gt; &lt;SPAN&gt;m_row_idx&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;delete&lt;/SPAN&gt; &lt;SPAN&gt;m_col_idx&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;delete&lt;/SPAN&gt; &lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; // For CSC&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;MKL_INT&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;m_idx_ptr&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;MKL_INT&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_col&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;idx_idx_ptr&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;idx_idx_ptr&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;num_col&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;idx_idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_csc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_row_idx&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;MKL_INT&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;idx_nz&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_row_idx&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_csc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;idx&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_csc&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ele&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_s_create_csc&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_INDEX_BASE_ZERO&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;num_row&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;num_col&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_idx_ptr&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_row_idx&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_descr_A&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;type&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sparse_matrix_type_t&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_MATRIX_TYPE_GENERAL&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_optimize&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_s_mv&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;sparse_operation_t&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_OPERATION_NON_TRANSPOSE&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;m_alpha&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_descr_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_x&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_beta&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"CSC SpMV:\n"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;print_upto&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;right&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setw&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;scientific&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setprecision&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"\t"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;endl&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_s_mv&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;sparse_operation_t&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_OPERATION_TRANSPOSE&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;m_alpha&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_descr_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_x&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_beta&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"CSC SpMV_T:\n"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;print_upto&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;right&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setw&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;scientific&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setprecision&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"\t"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;endl&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;mkl_sparse_destroy&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;delete&lt;/SPAN&gt; &lt;SPAN&gt;m_idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;delete&lt;/SPAN&gt; &lt;SPAN&gt;m_row_idx&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;delete&lt;/SPAN&gt; &lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; // For CSR&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_idx_ptr&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;MKL_INT&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_row&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;idx_row_ptr&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;idx_row_ptr&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;num_row&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;idx_row_ptr&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_row_ptr&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_csr&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_row_ptr&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_row_idx&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;MKL_INT&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;];&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;idx_nz&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;num_nz&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_col_idx&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_csr&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;idx&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sample_csr&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;ele&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;idx_nz&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_s_create_csr&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_INDEX_BASE_ZERO&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;num_row&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;num_col&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_idx_ptr&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_col_idx&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_descr_A&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;type&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;sparse_matrix_type_t&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_MATRIX_TYPE_GENERAL&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_optimize&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_s_mv&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;sparse_operation_t&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_OPERATION_NON_TRANSPOSE&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;m_alpha&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_descr_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_x&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_beta&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"CSR SpMV:\n"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;print_upto&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;right&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setw&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;scientific&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setprecision&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"\t"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;endl&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;m_status&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;mkl_sparse_s_mv&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;sparse_operation_t&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;SPARSE_OPERATION_TRANSPOSE&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;m_alpha&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_descr_A&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_x&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_beta&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"CSR SpMV_T:\n"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;print_upto&lt;/SPAN&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN&gt;++&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;right&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setw&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;scientific&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;setprecision&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;m_vec_b&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;iter&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;"\t"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;cout&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN&gt;std&lt;/SPAN&gt;&lt;SPAN&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;endl&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;mkl_sparse_destroy&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;m_mat_A&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;delete&lt;/SPAN&gt; &lt;SPAN&gt;m_idx_ptr&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;delete&lt;/SPAN&gt; &lt;SPAN&gt;m_col_idx&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;delete&lt;/SPAN&gt; &lt;SPAN&gt;m_mat_ele&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;return 0;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;-----------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;I tested fifteen test cases from `&lt;A href="http://sparse.tamu.edu/`" target="_blank" rel="noopener"&gt;http://sparse.tamu.edu/`&lt;/A&gt;&amp;nbsp;with math libraries, including MKL.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;It worked fine with double-precision; every computation result was matched to each other.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;But when single-precision is used, for ohne2 `&lt;A href="https://sparse.tamu.edu/Schenk_ISEI/ohne2`" target="_blank" rel="noopener"&gt;https://sparse.tamu.edu/Schenk_ISEI/ohne2`&lt;/A&gt;,&amp;nbsp;MKL generated a different result from other libraries.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Expected&lt;/DIV&gt;
&lt;DIV&gt;SpMV:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1.53e-05&amp;nbsp; &amp;nbsp; &amp;nbsp;1.53e-05&amp;nbsp; &amp;nbsp; &amp;nbsp;3.05e-05&amp;nbsp; &amp;nbsp; 3.05e-05&amp;nbsp; &amp;nbsp; &amp;nbsp; 7.63e-06&lt;BR /&gt;SpMV_T:&amp;nbsp; &amp;nbsp;6.40e+01&amp;nbsp; &amp;nbsp; 2.65e+02&amp;nbsp; &amp;nbsp; 3.48e+02&amp;nbsp; &amp;nbsp; 4.57e+02&amp;nbsp; &amp;nbsp; &amp;nbsp;0.00e+00&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;MKL_COO&lt;/DIV&gt;
&lt;DIV&gt;SpMV:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1.53e-05&amp;nbsp; &amp;nbsp; &amp;nbsp;1.53e-05&amp;nbsp; &amp;nbsp; &amp;nbsp;3.05e-05&amp;nbsp; &amp;nbsp; &amp;nbsp;3.05e-05&amp;nbsp; &amp;nbsp; &amp;nbsp; 7.63e-06&lt;BR /&gt;SpMV_T:&amp;nbsp; &amp;nbsp;1.19e+02&amp;nbsp; &amp;nbsp; &amp;nbsp;2.56e+02&amp;nbsp; &amp;nbsp; &amp;nbsp;3.84e+02&amp;nbsp; &amp;nbsp; &amp;nbsp;4.39e+02&amp;nbsp; &amp;nbsp;-6.40e+01&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;MKL_CSC&lt;/DIV&gt;
&lt;DIV&gt;SpMV:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1.53e-05&amp;nbsp; &amp;nbsp; &amp;nbsp; 1.53e-05&amp;nbsp; &amp;nbsp; &amp;nbsp;3.05e-05&amp;nbsp; &amp;nbsp; &amp;nbsp;3.05e-05&amp;nbsp; &amp;nbsp; &amp;nbsp;7.63e-06&lt;BR /&gt;SpMV_T:&amp;nbsp; &amp;nbsp;0.00e+00&amp;nbsp; &amp;nbsp; &amp;nbsp;2.71e+02&amp;nbsp; &amp;nbsp; 3.03e+02&amp;nbsp; &amp;nbsp; &amp;nbsp;4.49e+02&amp;nbsp; &amp;nbsp; 2.02e+01&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;MKL_CSR&lt;/DIV&gt;
&lt;DIV&gt;SpMV:&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 6.94e-06&amp;nbsp; &amp;nbsp; &amp;nbsp; 1.53e-05&amp;nbsp; &amp;nbsp; &amp;nbsp; 1.70e-05&amp;nbsp; &amp;nbsp; &amp;nbsp; 1.71e-05&amp;nbsp; &amp;nbsp; &amp;nbsp; 6.94e-06&lt;/DIV&gt;
&lt;DIV&gt;SpMV_T:&amp;nbsp; 6.40e+01&amp;nbsp; &amp;nbsp; &amp;nbsp; 2.65e+02&amp;nbsp; &amp;nbsp; &amp;nbsp;3.48e+02&amp;nbsp; &amp;nbsp; &amp;nbsp; 4.57e+02&amp;nbsp; &amp;nbsp; &amp;nbsp;0.00e+00&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;P&gt;If MKL's results match while not matching the others, I would expect I passed incorrect input.&lt;BR /&gt;But for SpMV, COO and CSC generate expected results while CSR generates unexpected, and&lt;BR /&gt;for SpMV_T, CSR generates expected while COO and CSC generate unexpected.&lt;/P&gt;
&lt;P&gt;Is there a mistake I made in the code?&lt;/P&gt;
&lt;P&gt;Thank you for checking my post.&lt;/P&gt;
&lt;P&gt;Hong&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="gtx-trans" style="position: absolute; left: 163px; top: 5576.5px;"&gt;
&lt;DIV class="gtx-trans-icon"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 15 Aug 2022 15:46:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1408283#M33529</guid>
      <dc:creator>HSPARK</dc:creator>
      <dc:date>2022-08-15T15:46:19Z</dc:date>
    </item>
    <item>
      <title>Re:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1408801#M33536</link>
      <description>&lt;P&gt;Hi Hong,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for reaching out to us.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Could you please provide us with the steps(or commands to compile and run) you have followed to reproduce the results that you are getting from our end? Because when I tried it, I got different results from yours.&lt;/P&gt;&lt;P&gt;Additionally please let us know your OS environment details and MKL version with which you are working.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 17 Aug 2022 10:00:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1408801#M33536</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-08-17T10:00:31Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1408935#M33544</link>
      <description>&lt;P&gt;Thank you for the response,&amp;nbsp;Vidya.&lt;BR /&gt;The followings are my environments:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;OS environment: (Run on WSL2 -&amp;nbsp;&amp;nbsp;5.4.72-microsoft-standard-WSL2)&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;PRETTY_NAME="Ubuntu 22.04 LTS"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;NAME="Ubuntu"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;VERSION_ID="22.04"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;VERSION="22.04 LTS (Jammy Jellyfish)"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;VERSION_CODENAME=jammy&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;ID=ubuntu&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;ID_LIKE=debian&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt; MKL version&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;2022.1.0&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;Used Compilers and Command&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;GCC - g++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0&lt;/SPAN&gt;
&lt;UL&gt;
&lt;LI&gt;g++ -m64 -std=c++20 -I /usr/local/include -DMKL_ILP64 -I"/opt/intel/oneapi/mkl/2022.1.0/include" to_ask_v3.cpp -o to_ask -L/opt/intel/oneapi/mkl/2022.1.0/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl -lgsl -lgslcblas&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Clang -&amp;nbsp;Ubuntu clang version 14.0.0-1ubuntu1
&lt;UL&gt;
&lt;LI&gt;clang++ -m64 -std=c++20 -I /usr/local/include -DMKL_ILP64 -I"/opt/intel/oneapi/mkl/2022.1.0/include" to_ask_v3.cpp -o to_ask -L/opt/intel/oneapi/mkl/2022.1.0/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl -lgsl -lgslcblas&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;INTEL -&amp;nbsp;Intel(R) oneAPI DPC++/C++ Compiler 2022.1.0 (2022.1.0.20220316)
&lt;UL&gt;
&lt;LI&gt;dpcpp -std=c++20 -I /usr/local/include -DMKL_ILP64 -I"/opt/intel/oneapi/mkl/2022.1.0/include" to_ask_v3.cpp -o to_ask -L/opt/intel/oneapi/mkl/2022.1.0/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl -lgsl -lgslcblas&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I added the full version of the code I used (including how I loaded the MTX file).&lt;BR /&gt;GSL is used to load MTX(MatrixMarket) format easily.&lt;BR /&gt;Please let me know if MKL has a similar feature.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;--------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;iomanip&amp;gt;
#include &amp;lt;vector&amp;gt;

#include &amp;lt;mkl_types.h&amp;gt;
#include &amp;lt;mkl_spblas.h&amp;gt;
#include &amp;lt;gsl/gsl_spmatrix.h&amp;gt;
#include &amp;lt;gsl/gsl_spblas.h&amp;gt;

const float m_alpha = 1.0;
const float m_beta = 0.0;
uint32_t print_upto = 5;

int main()
{
    std::string test_case = "ohne2.mtx";
    FILE *load_mtx;
    load_mtx = fopen64(test_case.c_str(), "r");
    gsl_spmatrix *gsl_mat_A = gsl_spmatrix_fscanf(load_mtx);
    fclose(load_mtx);

    uint32_t num_row = gsl_mat_A-&amp;gt;size1;
    uint32_t num_col = gsl_mat_A-&amp;gt;size2;
    uint32_t num_nz = gsl_mat_A-&amp;gt;nz;

    // build Vector x and Vector b for Ax = b
    float *m_vec_x = new float[num_col];
    float *m_vec_b = new float[num_col];
    for (uint32_t idx_vec = 0; idx_vec &amp;lt; num_col; ++idx_vec)
    {
        m_vec_x[idx_vec] = 1.0;
        m_vec_b[idx_vec] = 0.0;
    }

    // // For COO
    // // build A in MKL COO
    MKL_INT *m_row_idx = new MKL_INT[num_nz];
    MKL_INT *m_col_idx = new MKL_INT[num_nz];
    float *m_mat_ele = new float[num_nz];
    for (uint32_t idx_nz = 0; idx_nz &amp;lt; gsl_mat_A-&amp;gt;nz; ++idx_nz)
    {
        m_row_idx[idx_nz] = gsl_mat_A-&amp;gt;i[idx_nz];
        m_col_idx[idx_nz] = gsl_mat_A-&amp;gt;p[idx_nz];
        m_mat_ele[idx_nz] = (float)gsl_mat_A-&amp;gt;data[idx_nz];
    }

    sparse_matrix_t m_mat_A;
    sparse_status_t m_status;
    matrix_descr m_descr_A;
    m_status = mkl_sparse_s_create_coo(&amp;amp;m_mat_A, SPARSE_INDEX_BASE_ZERO, num_row, num_col, num_nz, m_row_idx, m_col_idx, m_mat_ele);
    m_descr_A.type = sparse_matrix_type_t::SPARSE_MATRIX_TYPE_GENERAL;
    m_status = mkl_sparse_optimize(m_mat_A);

    std::cout &amp;lt;&amp;lt; "MKL COO\n";
    m_status = mkl_sparse_s_mv(sparse_operation_t::SPARSE_OPERATION_NON_TRANSPOSE, m_alpha, m_mat_A, m_descr_A, m_vec_x, m_beta, m_vec_b);
    std::cout &amp;lt;&amp;lt; "SpMV:    ";
    for (uint32_t iter = 0; iter &amp;lt; print_upto; ++iter)
    {
        std::cout &amp;lt;&amp;lt; std::right &amp;lt;&amp;lt; std::setw(10) &amp;lt;&amp;lt; std::scientific &amp;lt;&amp;lt; std::setprecision(2) &amp;lt;&amp;lt; m_vec_b[iter] &amp;lt;&amp;lt; "\t";
    }
    std::cout &amp;lt;&amp;lt; std::endl;

    m_status = mkl_sparse_s_mv(sparse_operation_t::SPARSE_OPERATION_TRANSPOSE, m_alpha, m_mat_A, m_descr_A, m_vec_x, m_beta, m_vec_b);
    std::cout &amp;lt;&amp;lt; "SpMV_T:  ";
    for (uint32_t iter = 0; iter &amp;lt; print_upto; ++iter)
    {
        std::cout &amp;lt;&amp;lt; std::right &amp;lt;&amp;lt; std::setw(10) &amp;lt;&amp;lt; std::scientific &amp;lt;&amp;lt; std::setprecision(2) &amp;lt;&amp;lt; m_vec_b[iter] &amp;lt;&amp;lt; "\t";
    }
    std::cout &amp;lt;&amp;lt; std::endl;

    mkl_sparse_destroy(m_mat_A);
    delete [] m_row_idx;
    delete [] m_col_idx;
    delete [] m_mat_ele;




    // For CSC
    gsl_spmatrix *in_CSC = gsl_spmatrix_ccs(gsl_mat_A);
    MKL_INT *m_idx_ptr = new MKL_INT[num_col + 1];
    for (uint32_t idx_ptr = 0; idx_ptr &amp;lt; num_col + 1; ++idx_ptr)
    {
        m_idx_ptr[idx_ptr] = in_CSC-&amp;gt;p[idx_ptr];
    }

    m_row_idx = new MKL_INT[num_nz];
    m_mat_ele = new float[num_nz];
    for (uint32_t idx_nz = 0; idx_nz &amp;lt; num_nz; ++idx_nz)
    {
        m_row_idx[idx_nz] = in_CSC-&amp;gt;i[idx_nz];
        m_mat_ele[idx_nz] = in_CSC-&amp;gt;data[idx_nz];
    }

    m_status = mkl_sparse_s_create_csc(&amp;amp;m_mat_A, SPARSE_INDEX_BASE_ZERO, num_row, num_col, m_idx_ptr, m_idx_ptr + 1, m_row_idx, m_mat_ele);
    m_descr_A.type = sparse_matrix_type_t::SPARSE_MATRIX_TYPE_GENERAL;
    m_status = mkl_sparse_optimize(m_mat_A);

    std::cout &amp;lt;&amp;lt; "MKL CSC\n";
    m_status = mkl_sparse_s_mv(sparse_operation_t::SPARSE_OPERATION_NON_TRANSPOSE, m_alpha, m_mat_A, m_descr_A, m_vec_x, m_beta, m_vec_b);
    std::cout &amp;lt;&amp;lt; "SpMV:    ";
    for (uint32_t iter = 0; iter &amp;lt; print_upto; ++iter)
    {
        std::cout &amp;lt;&amp;lt; std::right &amp;lt;&amp;lt; std::setw(10) &amp;lt;&amp;lt; std::scientific &amp;lt;&amp;lt; std::setprecision(2) &amp;lt;&amp;lt; m_vec_b[iter] &amp;lt;&amp;lt; "\t";
    }
    std::cout &amp;lt;&amp;lt; std::endl;

    m_status = mkl_sparse_s_mv(sparse_operation_t::SPARSE_OPERATION_TRANSPOSE, m_alpha, m_mat_A, m_descr_A, m_vec_x, m_beta, m_vec_b);
    std::cout &amp;lt;&amp;lt; "SpMV_T:  ";
    for (uint32_t iter = 0; iter &amp;lt; print_upto; ++iter)
    {
        std::cout &amp;lt;&amp;lt; std::right &amp;lt;&amp;lt; std::setw(10) &amp;lt;&amp;lt; std::scientific &amp;lt;&amp;lt; std::setprecision(2) &amp;lt;&amp;lt; m_vec_b[iter] &amp;lt;&amp;lt; "\t";
    }
    std::cout &amp;lt;&amp;lt; std::endl;

    mkl_sparse_destroy(m_mat_A);
    delete [] m_idx_ptr;
    delete [] m_row_idx;
    delete [] m_mat_ele;
    gsl_spmatrix_free(in_CSC);




    // For CSR
    gsl_spmatrix *in_CSR = gsl_spmatrix_crs(gsl_mat_A);
    m_idx_ptr = new MKL_INT[num_row + 1];
    for (uint32_t idx_row_ptr = 0; idx_row_ptr &amp;lt; num_row + 1; ++idx_row_ptr)
    {
        m_idx_ptr[idx_row_ptr] = in_CSR-&amp;gt;p[idx_row_ptr];
    }

    m_col_idx = new MKL_INT[num_nz];
    m_mat_ele = new float[num_nz];
    for (uint32_t idx_nz = 0; idx_nz &amp;lt; num_nz; ++idx_nz)
    {
        m_col_idx[idx_nz] = in_CSR-&amp;gt;i[idx_nz];
        m_mat_ele[idx_nz] = in_CSR-&amp;gt;data[idx_nz];
    }

    m_status = mkl_sparse_s_create_csr(&amp;amp;m_mat_A, SPARSE_INDEX_BASE_ZERO, num_row, num_col, m_idx_ptr, m_idx_ptr + 1, m_col_idx, m_mat_ele);
    m_descr_A.type = sparse_matrix_type_t::SPARSE_MATRIX_TYPE_GENERAL;
    m_status = mkl_sparse_optimize(m_mat_A);
    
    std::cout &amp;lt;&amp;lt; "MKL CSR\n";
    m_status = mkl_sparse_s_mv(sparse_operation_t::SPARSE_OPERATION_NON_TRANSPOSE, m_alpha, m_mat_A, m_descr_A, m_vec_x, m_beta, m_vec_b);
    std::cout &amp;lt;&amp;lt; "SpMV:    ";
    for (uint32_t iter = 0; iter &amp;lt; print_upto; ++iter)
    {
        std::cout &amp;lt;&amp;lt; std::right &amp;lt;&amp;lt; std::setw(10) &amp;lt;&amp;lt; std::scientific &amp;lt;&amp;lt; std::setprecision(2) &amp;lt;&amp;lt; m_vec_b[iter] &amp;lt;&amp;lt; "\t";
    }
    std::cout &amp;lt;&amp;lt; std::endl;

    m_status = mkl_sparse_s_mv(sparse_operation_t::SPARSE_OPERATION_TRANSPOSE, m_alpha, m_mat_A, m_descr_A, m_vec_x, m_beta, m_vec_b);
    std::cout &amp;lt;&amp;lt; "SpMV_T:  ";
    for (uint32_t iter = 0; iter &amp;lt; print_upto; ++iter)
    {
        std::cout &amp;lt;&amp;lt; std::right &amp;lt;&amp;lt; std::setw(10) &amp;lt;&amp;lt; std::scientific &amp;lt;&amp;lt; std::setprecision(2) &amp;lt;&amp;lt; m_vec_b[iter] &amp;lt;&amp;lt; "\t";
    }
    std::cout &amp;lt;&amp;lt; std::endl;

    mkl_sparse_destroy(m_mat_A);
    delete [] m_idx_ptr;
    delete [] m_col_idx;
    delete [] m_mat_ele;
    gsl_spmatrix_free(in_CSR);

    return 0;
}
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Aug 2022 19:45:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1408935#M33544</guid>
      <dc:creator>HSPARK</dc:creator>
      <dc:date>2022-08-17T19:45:43Z</dc:date>
    </item>
    <item>
      <title>Re:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410682#M33566</link>
      <description>&lt;P&gt;Hi Hong,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for sharing the details.&lt;/P&gt;&lt;P&gt;For the code in your first post this is the output I'm getting&lt;/P&gt;&lt;P&gt;COO SpMV:&lt;/P&gt;&lt;P&gt;&amp;nbsp;1.20e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.00e+00&lt;/P&gt;&lt;P&gt;COO SpMV_T:&lt;/P&gt;&lt;P&gt;&amp;nbsp;1.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.00e+01&lt;/P&gt;&lt;P&gt;CSC SpMV:&lt;/P&gt;&lt;P&gt;&amp;nbsp;1.20e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.00e+00&lt;/P&gt;&lt;P&gt;CSC SpMV_T:&lt;/P&gt;&lt;P&gt;&amp;nbsp;1.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.00e+01&lt;/P&gt;&lt;P&gt;CSR SpMV:&lt;/P&gt;&lt;P&gt;&amp;nbsp;1.20e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.00e+00&lt;/P&gt;&lt;P&gt;CSR SpMV_T:&lt;/P&gt;&lt;P&gt;&amp;nbsp;1.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.00e+01&lt;/P&gt;&lt;P&gt; whereas for the second code, I'm getting segmentation fault error.&lt;/P&gt;&lt;P&gt;Could you please let us know if there is any input file that need to be loaded to run the code?&lt;/P&gt;&lt;P&gt;&amp;gt;&lt;EM&gt;&amp;gt;Please let me know if MKL has a similar feature.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;No, it doesn't have any such feature.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 25 Aug 2022 13:17:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410682#M33566</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-08-25T13:17:09Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410808#M33568</link>
      <description>&lt;P&gt;Thank you for your concern Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The file I used (which generated incorrect results) is "&lt;SPAN&gt;ohne2.mtx&lt;/SPAN&gt;" from&amp;nbsp;&lt;A href="https://sparse.tamu.edu/Schenk_ISEI/ohne2" target="_blank"&gt;https://sparse.tamu.edu/Schenk_ISEI/ohne2&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Please use the "Matrix Market" one from the download link.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It contains two files, and the used file is `&lt;SPAN&gt;ohne2.mtx&lt;/SPAN&gt;`&lt;/P&gt;
&lt;P&gt;which is already specified in the second code -&amp;gt;&amp;nbsp;&lt;SPAN&gt; std&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;::&lt;/SPAN&gt;&lt;SPAN&gt;string test_case &lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"ohne2.mtx"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2022 22:31:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410808#M33568</guid>
      <dc:creator>HSPARK</dc:creator>
      <dc:date>2022-08-25T22:31:28Z</dc:date>
    </item>
    <item>
      <title>Re: Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410883#M33569</link>
      <description>&lt;P&gt;Thanks for pointing it out Hong!&lt;/P&gt;
&lt;P&gt;It would be a great help if you could attach the ohne2.mtx file here as it is not getting downloaded when I'm trying to get it from the provided link.&lt;/P&gt;
&lt;P&gt;Could you please help me with that so that we can proceed further in this case?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Aug 2022 04:57:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410883#M33569</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-08-26T04:57:35Z</dc:date>
    </item>
    <item>
      <title>Re: Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410887#M33570</link>
      <description>&lt;P&gt;Sorry about the inaccurate explanation;&lt;/P&gt;
&lt;P&gt;the website does not allow downloading the file by clicking the tab.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When &lt;BR /&gt;Google Chrome is used - right-click `Matrix Market` and save the link.&lt;BR /&gt;Terminal is used - wget &lt;A href="https://suitesparse-collection-website.herokuapp.com/MM/Schenk_ISEI/ohne2.tar.gz" target="_blank"&gt;https://suitesparse-collection-website.herokuapp.com/MM/Schenk_ISEI/ohne2.tar.gz&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this works.&lt;BR /&gt;I may better attach the file, but it is approximately 250MB when uncompressed, so I think that will not be a good idea.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have a wonderful day.&lt;/P&gt;</description>
      <pubDate>Fri, 26 Aug 2022 05:07:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410887#M33570</guid>
      <dc:creator>HSPARK</dc:creator>
      <dc:date>2022-08-26T05:07:48Z</dc:date>
    </item>
    <item>
      <title>Re:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410889#M33571</link>
      <description>&lt;P&gt;Yeah, now I'm able to access it. Thanks, I'll get back to you with the results.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;-Vidya&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 26 Aug 2022 05:13:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410889#M33571</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-08-26T05:13:19Z</dc:date>
    </item>
    <item>
      <title>Re: Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410957#M33573</link>
      <description>&lt;P&gt;Hi Hong,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The issue is reproducible and in my case the results are as follows (i changed print_upto value to 7)&lt;/P&gt;
&lt;P&gt;For COO I don't observe any difference in results whereas for CSC and CSR there are differences&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&lt;STRONG&gt;&lt;EM&gt;Expected&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;SpMV:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;7.63e-06&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;SpMV_T:&amp;nbsp;&amp;nbsp;6.40e+01&amp;nbsp;&amp;nbsp;2.65e+02&amp;nbsp;&amp;nbsp;3.48e+02&amp;nbsp;&amp;nbsp;4.57e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;0.00e+00&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Results obtained:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;MKL COO&lt;/P&gt;
&lt;P&gt;SpMV:&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.63e-06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.38e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.37e-05&lt;/P&gt;
&lt;P&gt;SpMV_T:&amp;nbsp;&amp;nbsp;6.40e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.65e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.48e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.57e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1.90e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-8.89e+01&lt;/P&gt;
&lt;P&gt;MKL CSC&lt;/P&gt;
&lt;P&gt;SpMV:&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.63e-06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.38e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.37e-05&lt;/P&gt;
&lt;P&gt;SpMV_T:&amp;nbsp;&amp;nbsp;1.00e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.71e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.66e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.76e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1.28e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1.28e+02&lt;/P&gt;
&lt;P&gt;MKL CSR&lt;/P&gt;
&lt;P&gt;SpMV:&amp;nbsp;&amp;nbsp;&amp;nbsp;6.94e-06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.04e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.94e-06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&lt;/P&gt;
&lt;P&gt;SpMV_T:&amp;nbsp;&amp;nbsp;6.40e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.65e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.48e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.57e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1.90e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-8.89e+01&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you please try changing the below lines as shown and give it a try?&lt;/P&gt;
&lt;P&gt;For CSR line 127 - 128&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&lt;EM&gt;m_idx_ptr = new MKL_INT[num_row + 1];&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;for (uint32_t idx_row_ptr = 0; idx_row_ptr &amp;lt; num_row + 1; ++idx_row_ptr)&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;&amp;lt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;m_idx_ptr = new MKL_INT[num_row];

  for (uint32_t idx_row_ptr = 0; idx_row_ptr &amp;lt; num_row; ++idx_row_ptr)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For CSC line 81 - 82&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&lt;EM&gt;MKL_INT *m_idx_ptr = new MKL_INT[num_col + 1];&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;for (uint32_t idx_ptr = 0; idx_ptr &amp;lt; num_col + 1; ++idx_ptr)&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;&amp;lt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;MKL_INT *m_idx_ptr = new MKL_INT[num_col];

  for (uint32_t idx_ptr = 0; idx_ptr &amp;lt; num_col; ++idx_ptr)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the above changes i could see the results are same for all formats (tried with both dpcpp and g++ compilers on Ubuntu 18.04.6)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;MKL COO&lt;/P&gt;
&lt;P&gt;SpMV:&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.63e-06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.38e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.37e-05&lt;/P&gt;
&lt;P&gt;SpMV_T:&amp;nbsp;&amp;nbsp;6.40e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.65e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.48e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.57e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1.90e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-8.89e+01&lt;/P&gt;
&lt;P&gt;MKL CSC&lt;/P&gt;
&lt;P&gt;SpMV:&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.63e-06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.38e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.37e-05&lt;/P&gt;
&lt;P&gt;SpMV_T:&amp;nbsp;&amp;nbsp;6.40e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.65e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.48e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.57e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1.90e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-8.89e+01&lt;/P&gt;
&lt;P&gt;MKL CSR&lt;/P&gt;
&lt;P&gt;SpMV:&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.53e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.05e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.63e-06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.38e-05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.37e-05&lt;/P&gt;
&lt;P&gt;SpMV_T:&amp;nbsp;&amp;nbsp;6.40e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.65e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.48e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.57e+02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.00e+00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1.90e+01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-8.89e+01&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My hunch is that there might be some mistake with row_start and col_start parameters in the code (refer&lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/blas-and-sparse-blas-routines/inspector-executor-sparse-blas-routines/matrix-manipulation-routines/mkl-sparse-create-csr.html" target="_self"&gt; mkl_sparse_?_create_csr&lt;/A&gt; &amp;amp; &lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/blas-and-sparse-blas-routines/inspector-executor-sparse-blas-routines/matrix-manipulation-routines/mkl-sparse-create-csc.html" target="_self"&gt;mkl_sparse_?_create_csc&lt;/A&gt; routines) and tried modifying them.&lt;/P&gt;
&lt;P&gt;Please give it a try and let me know if there is any issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Aug 2022 16:57:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1410957#M33573</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-08-26T16:57:41Z</dc:date>
    </item>
    <item>
      <title>Re: Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1411451#M33582</link>
      <description>&lt;P class="sub_section_element_selectors"&gt;Thank you for your continued support Vidya.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;Also, sorry for the late response, my condition was not well during the weekend.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;If possible, can I possibly have modified code and the compilation command?&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;I made modifications suggested by you, but it did not change the result with my system.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;Thank you for your support.&lt;/P&gt;</description>
      <pubDate>Mon, 29 Aug 2022 16:32:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1411451#M33582</guid>
      <dc:creator>HSPARK</dc:creator>
      <dc:date>2022-08-29T16:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1411629#M33585</link>
      <description>&lt;P&gt;Hi Hong,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;&lt;EM&gt;&amp;gt;Also, sorry for the late response, my condition was not well during the weekend.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;No problem and hope you are doing well now.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;gt;can I possibly have modified code and the compilation command?&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Please find the attached code in test.zip and the compilation commands used.&lt;/P&gt;
&lt;P&gt;Using dpcpp:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;dpcpp -std=c++20 -I /usr/local/include -DMKL_ILP64 -I"/opt/intel/oneapi/mkl/2022.1.0/include" main1.cpp -o to_ask -L/opt/intel/oneapi/mkl/2022.1.0/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl -lgsl -lgslcblas&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using g++:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;g++ -m64 -DMKL_ILP64 -I"/opt/intel/oneapi/mkl/2022.1.0/include" main1.cpp -o to_ask -L/opt/intel/oneapi/mkl/2022.1.0/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl -lgsl -lgslcblas&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the screenshot of the output&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="VidyalathaB_Intel_0-1661855526016.png" style="width: 400px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/33005i05147C702F339E10/image-size/medium?v=v2&amp;amp;px=400&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="VidyalathaB_Intel_0-1661855526016.png" alt="VidyalathaB_Intel_0-1661855526016.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Please give it a try and do let me know if there is any issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Aug 2022 10:39:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1411629#M33585</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-08-30T10:39:18Z</dc:date>
    </item>
    <item>
      <title>Re: Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1412683#M33614</link>
      <description>&lt;P&gt;Dear &lt;SPAN&gt;Vidya&lt;/SPAN&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your continued support, and sorry for the delayed response.&lt;BR /&gt;I needed some time to ensure about the problem.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;About the result of executing the code, you gave to me.&lt;BR /&gt;-&amp;gt; Sadly, it did not fix the problem on my machine.&lt;BR /&gt;-&amp;gt; However, this made me check the code on other machines and test with a different test case(much smaller that can display every result).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;About the test result of the code you sent and the one I originally wrote on the other machine. &lt;BR /&gt;When your code was tested on MacBook Pro (12.5, Mid-2015) and Compute Canada Graham Server - &lt;A href="https://docs.alliancecan.ca/wiki/Graham" target="_blank"&gt;https://docs.alliancecan.ca/wiki/Graham&lt;/A&gt;, it seemed the problem was solved with your solution.&lt;/P&gt;
&lt;P&gt;Even though it did not return what I was looking for on my machine, it returned the result I was looking for in the others.&lt;/P&gt;
&lt;P&gt;I check the code on my machine again with different conditions: WSL + Ubuntu 18.04, Ubuntu 20.04, and Windows (no WSL layer).&lt;BR /&gt;However, none of the combinations solved the problems that returned incorrect results that I got initially.&lt;BR /&gt;Therefore, I was considering concluding the problem as machine related problem.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, based on a document that I found in the link you gave to me.&lt;BR /&gt;- Sparse BLAS CSC Matrix Storage Format: &lt;BR /&gt;&lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/appendix-a-linear-solvers-basics/sparse-matrix-storage-formats/sparse-blas-csc-matrix-storage-format.html" target="_blank"&gt;https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/appendix-a-linear-solvers-basics/sparse-matrix-storage-formats/sparse-blas-csc-matrix-storage-format.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;- Sparse BLAS CSR Matrix Storage Format&lt;BR /&gt;&lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/appendix-a-linear-solvers-basics/sparse-matrix-storage-formats/sparse-blas-csr-matrix-storage-format.html" target="_blank"&gt;https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/appendix-a-linear-solvers-basics/sparse-matrix-storage-formats/sparse-blas-csr-matrix-storage-format.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I believe the solution that modifies&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;// from
MKL_INT *m_idx_ptr = new MKL_INT[num_col + 1];
for (uint32_t idx_ptr = 0; idx_ptr &amp;lt; num_col + 1; ++idx_ptr)

// to
MKL_INT *m_idx_ptr = new MKL_INT[num_col];
for (uint32_t idx_ptr = 0; idx_ptr &amp;lt; num_col; ++idx_ptr)&lt;/LI-CODE&gt;
&lt;P&gt;OR&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;// from
MKL_INT *m_idx_ptr = new MKL_INT[num_row + 1];
for (uint32_t idx_ptr = 0; idx_ptr &amp;lt; num_row + 1; ++idx_ptr)
// to
MKL_INT *m_idx_ptr = new MKL_INT[num_row ];
for (uint32_t idx_ptr = 0; idx_ptr &amp;lt; num_row ; ++idx_ptr)&lt;/LI-CODE&gt;
&lt;P&gt;cannot be a solution to the problem.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The process&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;gsl_spmatrix *in_CSR = gsl_spmatrix_crs(gsl_mat_A);
MKL_INT *m_idx_ptr = new MKL_INT[num_row + 1];
for (uint32_t idx_ptr = 0; idx_ptr &amp;lt; num_row + 1; ++idx_ptr){
m_idx_ptr[idx_row_ptr] = in_CSR-&amp;gt;p[idx_row_ptr];
}

// Some addtional initialization

mkl_sparse_s_create_csr(&amp;amp;m_mat_A, SPARSE_INDEX_BASE_ZERO, num_row, num_col, m_idx_ptr, m_idx_ptr + 1, m_col_idx, m_mat_ele);&lt;/LI-CODE&gt;
&lt;P&gt;are equal to&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;gsl_spmatrix *in_CSR = gsl_spmatrix_crs(gsl_mat_A);
MKL_INT *m_idx_ptr_start = new MKL_INT[num_row];
MKL_INT *m_idx_ptr_end = new MKL_INT[num_row];
for (uint32_t idx_ptr = 0; idx_ptr &amp;lt; num_row; ++idx_ptr){
m_idx_ptr_start = in_CSR-&amp;gt;p[idx_row_ptr];
m_idx_ptr_end = in_CSR-&amp;gt;p[idx_row_ptr + 1];
}

// some addtional initialization

mkl_sparse_s_create_csr(&amp;amp;m_mat_A, SPARSE_INDEX_BASE_ZERO, num_row, num_col, m_idx_ptr_start, m_idx_ptr_end , m_col_idx, m_mat_ele);&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Based on the example from `Sparse BLAS CSR Matrix Storage Format,` it is the same as converting three to four array variations.&lt;/P&gt;
&lt;P&gt;I.e.&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;// with MKL_INT *m_idx_ptr = new MKL_INT[num_row + 1]
in_CSR-&amp;gt;p[idx_row_ptr] = [1, 4, 6, 9, 12, 14];
m_idx_ptr = [1, 4, 6, 9, 12, 14];
*m_idx_ptr = [1, 4, 6, 9, 12]; // = pointerB
*(m_idx_ptr + 1) = [4, 6, 9, 12, 14]; // = pointeE&lt;/LI-CODE&gt;
&lt;P&gt;and&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;// with m_idx_ptr_start = in_CSR-&amp;gt;p[idx_row_ptr] 
// and m_idx_ptr_end = in_CSR-&amp;gt;p[idx_row_ptr + 1]
in_CSR-&amp;gt;p[idx_row_ptr] = [1, 4, 6, 9, 12, 14];
*m_idx_ptr_start = [1, 4, 6, 9, 12] // = pointerB
*m_idx_ptr_end = [4, 6, 9, 12, 14] // = pointeE&lt;/LI-CODE&gt;
&lt;P&gt;while&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;//with MKL_INT *m_idx_ptr = new MKL_INT[num_row] is used the following will be given
m_idx_ptr = [1, 4, 6, 9, 12];
*m_idx_ptr = [1, 4, 6, 9, 12]; // = pointerB
*(m_idx_ptr + 1) = [4, 6, 9, 12, ??]; or source of segfault // = pointeE&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do I misunderstand the documents?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Sep 2022 03:12:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1412683#M33614</guid>
      <dc:creator>HSPARK</dc:creator>
      <dc:date>2022-09-05T03:12:45Z</dc:date>
    </item>
    <item>
      <title>Re: Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1414200#M33643</link>
      <description>&lt;P&gt;Hi Hong,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for the detailed information.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&lt;EM&gt;When your code was tested on MacBook Pro (12.5, Mid-2015) and Compute Canada Graham Server - &lt;A href="https://docs.alliancecan.ca/wiki/Graham" target="_blank" rel="noopener"&gt;https://docs.alliancecan.ca/wiki/Graham&lt;/A&gt;, it seemed the problem was solved with your solution.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Could you please let us know if you have tested your (original) code on mac and happened to see the results that you are expecting?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;gt;I check the code on my machine again with different condition&lt;/EM&gt;s: &lt;EM&gt;WSL + Ubuntu 18.04, Ubuntu 20.04, and Windows (no WSL layer)&lt;/EM&gt;. &lt;EM&gt;Therefore, I was considering concluding the problem as machine related problem.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Here is the link for the system requirements of oneMKL if you think the issue is machine specific.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.intel.com/content/www/us/en/developer/articles/system-requirements/oneapi-math-kernel-library-system-requirements.html" target="_blank" rel="noopener"&gt;https://www.intel.com/content/www/us/en/developer/articles/system-requirements/oneapi-math-kernel-library-system-requirements.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regarding the code snippet which you have provided with calculations of&lt;/P&gt;
&lt;P&gt;m_idx_ptr_start = in_CSR-&amp;gt;p[idx_row_ptr];&lt;/P&gt;
&lt;P&gt;m_idx_ptr_end = in_CSR-&amp;gt;p[idx_row_ptr + 1];&lt;/P&gt;
&lt;P&gt;Does it resolve the issue?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please do let us know so that we can do the needful.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Sep 2022 14:15:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1414200#M33643</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-09-12T14:15:39Z</dc:date>
    </item>
    <item>
      <title>Re:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1415513#M33666</link>
      <description>&lt;P&gt;Hi Hong,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;As we haven't heard back from you, could you please provide us with an update regarding the issue?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 19 Sep 2022 02:39:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1415513#M33666</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-09-19T02:39:38Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1415780#M33671</link>
      <description>&lt;P&gt;Dear&amp;nbsp;Vidya,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am terribly sorry for the late response.&lt;BR /&gt;I did not notice I received the answer.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;About "Could you please let us know if you have tested your (original) code on mac and happened to see the results that you are expecting?"&lt;BR /&gt;=&amp;gt; When I tested my original code&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;MKL_INT *m_idx_ptr = new MKL_INT[num_col + 1]; or
MKL_INT *m_idx_ptr = new MKL_INT[num_row + 1];&lt;/LI-CODE&gt;
&lt;P&gt;My solution did not return the expected result for ohne2.mtx.&lt;/P&gt;
&lt;P&gt;To ensure my solution is wrong, another matrix(dimension is much smaller and value is much small as well), `LFAT5.mtx`, is tested. (LFAT5's Dimension is 14 while ohne2's is 181343)&lt;BR /&gt;My solution returned the required result for LFAT5.mtx, while the given solution returned incorrect results.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;The last elements of computation of SpMV and SpMV_T are incorrect as&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;MKL_INT *m_idx_ptr = new MKL_INT[num_col]; or
MKL_INT *m_idx_ptr = new MKL_INT[num_row];&lt;/LI-CODE&gt;
&lt;P&gt;make computation skips the last row or column in the matrix.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;About "Regarding the code snippet which you have provided with calculations of&lt;BR /&gt;m_idx_ptr_start = in_CSR-&amp;gt;p[idx_row_ptr];&lt;BR /&gt;m_idx_ptr_end = in_CSR-&amp;gt;p[idx_row_ptr + 1];&lt;BR /&gt;Does it resolve the issue?"&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;=&amp;gt; Sadly, it could not solve the problem either.&lt;BR /&gt;I made mistake in the code snippet that&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;m_idx_ptr_end = in_CSR-&amp;gt;p[idx_row_ptr + 1]; should be
m_idx_ptr_end = in_CSR-&amp;gt;p[idx_row_ptr];&lt;/LI-CODE&gt;
&lt;P&gt;But the tested code is the corrected one.&lt;/P&gt;
&lt;P&gt;The method in the code snippet returns the correct result for `LFAT5.mtx` but not for `ohne2`.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Once again, I apologize for the late response and thank you for your continued support.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Sep 2022 23:09:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1415780#M33671</guid>
      <dc:creator>HSPARK</dc:creator>
      <dc:date>2022-09-19T23:09:27Z</dc:date>
    </item>
    <item>
      <title>Re:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1415859#M33674</link>
      <description>&lt;P&gt;Hi Hong,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for getting back to us.&lt;/P&gt;&lt;P&gt;Please correct me if I miss anything here.&lt;/P&gt;&lt;P&gt;So the issue (incorrect results) comes when using ohne2.mtx input file but when working with LFAT5.mtx your code is working fine and giving correct results?&lt;/P&gt;&lt;P&gt;If possible please attach the LFAT5.mtx file here so that we can test it from our end and proceed further in this case.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 20 Sep 2022 06:32:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1415859#M33674</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-09-20T06:32:40Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1416438#M33691</link>
      <description>&lt;P&gt;Thank you for the response, Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The matrix `LFAT5.mtx` can be downloaded with the following&lt;BR /&gt;wget &lt;A href="https://suitesparse-collection-website.herokuapp.com/MM/Oberwolfach/LFAT5.tar.gz" target="_blank"&gt;https://suitesparse-collection-website.herokuapp.com/MM/Oberwolfach/LFAT5.tar.gz&lt;/A&gt;&lt;BR /&gt;and the file named `LFAT5.mtx` is the one I used.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think it would be better to make clear the issue to ensure there is no miscommunication.&lt;BR /&gt;Until this point, the case that returns the mismatched result between the COO, CSC, and CSR is the combination of ohne2.mtx with single-precision computation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There can be matrices that show similar behaviour, but the combination of ohne2.mtx and single-precision is the only case I observed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your support.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hong Sung Park&lt;/P&gt;</description>
      <pubDate>Thu, 22 Sep 2022 00:11:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1416438#M33691</guid>
      <dc:creator>HSPARK</dc:creator>
      <dc:date>2022-09-22T00:11:01Z</dc:date>
    </item>
    <item>
      <title>Re:Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1417574#M33712</link>
      <description>&lt;P&gt;Hi Hong,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for providing us with the details. &lt;/P&gt;&lt;P&gt;As you mentioned the issue cannot be seen with LFAT5.mtx matrix file but yes we are getting wrong results with ohne2.mtx.&lt;/P&gt;&lt;P&gt;We have forwarded this issue to concerned developement team. we are working on your issue we will get back to you soon.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for your patience.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 27 Sep 2022 07:28:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1417574#M33712</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-09-27T07:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1440338#M34029</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/216226"&gt;@HSPARK&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your patience.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm glad to inform you that the issue raised by you is fixed in the latest version oneMKL 2023.0.0 which is now available for download.&lt;/P&gt;
&lt;P&gt;Please try running the code with 2023.0.0 oneMKL version and do let us know if it resolves the issue.&lt;/P&gt;
&lt;P&gt;A quick check from my end shows that the results of SP_MV are the same in all the matrix formats i.e CSC, CSR, and COO with &lt;SPAN&gt;ohne2.mtx file.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Here is the screenshot of the output&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="VidyalathaB_Intel_0-1671594995495.png" style="width: 400px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/36378i2437517DF09036D1/image-size/medium?v=v2&amp;amp;px=400&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="VidyalathaB_Intel_0-1671594995495.png" alt="VidyalathaB_Intel_0-1671594995495.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please check it once with the latest version of oneMKL (you can download the latest oneAPI Base Toolkit to get it and here is the link &lt;A href="https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html" target="_blank" rel="noopener"&gt;https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html&lt;/A&gt;) and confirm us so that we can close this thread if there are no further queries.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 21 Dec 2022 03:56:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1440338#M34029</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-12-21T03:56:58Z</dc:date>
    </item>
    <item>
      <title>Re: Results mismatch in SpMV_T with COO/CSC/CSR when single-precision is used.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1442691#M34098</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/216226"&gt;@HSPARK&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As the issue is already addressed and the fix is provided, we are going ahead and closing this issue. Please post a new question if you need any additional assistance from Intel as this thread will no longer be monitored.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Dec 2022 04:55:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Results-mismatch-in-SpMV-T-with-COO-CSC-CSR-when-single/m-p/1442691#M34098</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-12-30T04:55:15Z</dc:date>
    </item>
  </channel>
</rss>

