<?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 Hello Jon, in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-mkl-sparse-sypr-valgrind-memcheck-error/m-p/1136653#M26059</link>
    <description>&lt;P&gt;Hello Jon,&lt;/P&gt;&lt;P&gt;It is not clear to me how I can use&amp;nbsp;mkl_sparse_convert_csr to do the job of ddnscsr in this case. I am starting with a dense matrix, rather than a handle in a sparse format. Could you please elaborate on how to do that? Is there an alternative to ddnscsr that does this job?&lt;/P&gt;</description>
    <pubDate>Tue, 10 Mar 2020 09:19:53 GMT</pubDate>
    <dc:creator>Mazur__Luke</dc:creator>
    <dc:date>2020-03-10T09:19:53Z</dc:date>
    <item>
      <title>Sparse BLAS mkl_sparse_sypr valgrind memcheck error</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-mkl-sparse-sypr-valgrind-memcheck-error/m-p/1136651#M26057</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I ran the attached code and receive:&lt;/P&gt;&lt;P&gt;➜ valgrind --tool=memcheck --leak-check=full --track-origins=yes ./lukeSparseBLAStest &amp;gt; temp.txt&lt;BR /&gt;==22146== Memcheck, a memory error detector&lt;BR /&gt;==22146== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.&lt;BR /&gt;==22146== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info&lt;BR /&gt;==22146== Command: ./lukeSparseBLAStest&lt;BR /&gt;==22146==&amp;nbsp;&lt;BR /&gt;==22146== Conditional jump or move depends on uninitialised value(s)&lt;BR /&gt;==22146== &amp;nbsp; &amp;nbsp;at 0xEBB8501: mkl_sparse_sypr_i4_avx2 (in /opt/intel/compilers_and_libraries_2020.0.166/linux/mkl/lib/intel64_lin/libmkl_avx2.so)&lt;BR /&gt;==22146== &amp;nbsp; &amp;nbsp;by 0x1096F8: main (lukeSparseBLAStest.cpp:95)&lt;BR /&gt;==22146== &amp;nbsp;Uninitialised value was created by a heap allocation&lt;BR /&gt;==22146== &amp;nbsp; &amp;nbsp;at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)&lt;BR /&gt;==22146== &amp;nbsp; &amp;nbsp;by 0x10927B: main (lukeSparseBLAStest.cpp:58)&lt;BR /&gt;==22146==&amp;nbsp;&lt;BR /&gt;==22146==&amp;nbsp;&lt;BR /&gt;==22146== HEAP SUMMARY:&lt;BR /&gt;==22146== &amp;nbsp; &amp;nbsp; in use at exit: 3,238 bytes in 10 blocks&lt;BR /&gt;==22146== &amp;nbsp; total heap usage: 70 allocs, 60 frees, 306,317 bytes allocated&lt;BR /&gt;==22146==&amp;nbsp;&lt;BR /&gt;==22146== LEAK SUMMARY:&lt;BR /&gt;==22146== &amp;nbsp; &amp;nbsp;definitely lost: 0 bytes in 0 blocks&lt;BR /&gt;==22146== &amp;nbsp; &amp;nbsp;indirectly lost: 0 bytes in 0 blocks&lt;BR /&gt;==22146== &amp;nbsp; &amp;nbsp; &amp;nbsp;possibly lost: 0 bytes in 0 blocks&lt;BR /&gt;==22146== &amp;nbsp; &amp;nbsp;still reachable: 3,238 bytes in 10 blocks&lt;BR /&gt;==22146== &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; suppressed: 0 bytes in 0 blocks&lt;BR /&gt;==22146== Reachable blocks (those to which a pointer was found) are not shown.&lt;BR /&gt;==22146== To see them, rerun with: --leak-check=full --show-leak-kinds=all&lt;BR /&gt;==22146==&amp;nbsp;&lt;BR /&gt;==22146== For counts of detected and suppressed errors, rerun with: -v&lt;BR /&gt;==22146== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is line 95&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; mklinfo = mkl_sparse_sypr(SPARSE_OPERATION_NON_TRANSPOSE,EHandle,symmHandle,spsyprdescr,spsyprResultHandlePointer,SPARSE_STAGE_FULL_MULT);&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I know the issue has to do with the variable&amp;nbsp;spsyprResultHandlePointer because if I replace that with the commented out line 96 I get&amp;nbsp;&lt;/P&gt;&lt;P&gt;Uninitialised value was created by a stack allocation&lt;/P&gt;&lt;P&gt;So it has to be this variable. This variable is uninitialized, but I expect it should be, as it only gathers the output from&amp;nbsp;mkl_sparse_sypr.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am using&amp;nbsp;/opt/intel/compilers_and_libraries_2020.0.166/linux/mkl/include&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My compilation line:&lt;/P&gt;&lt;P&gt;g++ -g lukeSparseBLAStest.cpp -I /opt/intel/compilers_and_libraries/linux/mkl/include -L/opt/intel/compilers_and_libraries/linux/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -o lukeSparseBLAStest&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was able to reproduce this on two different linux machines, so I don't think specific details of these are relevant. If you can't reproduce this on your machine then I can provide more specific information regarding this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My question is why am I getting this error? Have I done something wrong in the code? Or is there something wrong with the intel sparse BLAS? Or is it spurious valgrind output?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards, Luke Mazur&lt;/P&gt;</description>
      <pubDate>Fri, 06 Mar 2020 06:45:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-mkl-sparse-sypr-valgrind-memcheck-error/m-p/1136651#M26057</guid>
      <dc:creator>Mazur__Luke</dc:creator>
      <dc:date>2020-03-06T06:45:07Z</dc:date>
    </item>
    <item>
      <title>Hi Luke, </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-mkl-sparse-sypr-valgrind-memcheck-error/m-p/1136652#M26058</link>
      <description>&lt;P&gt;Hi Luke,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I see you used a deprecated function 'mkl_ddnscsr()'. Could you try to use&amp;nbsp;mkl_sparse_convert_csr and see ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please refer :&amp;nbsp;https://software.intel.com/en-us/mkl-developer-reference-c-mkl-dnscsr and&amp;nbsp;https://software.intel.com/en-us/mkl-developer-reference-c-matrix-manipulation-routines&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 10 Mar 2020 07:29:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-mkl-sparse-sypr-valgrind-memcheck-error/m-p/1136652#M26058</guid>
      <dc:creator>Jonghak_K_Intel</dc:creator>
      <dc:date>2020-03-10T07:29:00Z</dc:date>
    </item>
    <item>
      <title>Hello Jon,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-mkl-sparse-sypr-valgrind-memcheck-error/m-p/1136653#M26059</link>
      <description>&lt;P&gt;Hello Jon,&lt;/P&gt;&lt;P&gt;It is not clear to me how I can use&amp;nbsp;mkl_sparse_convert_csr to do the job of ddnscsr in this case. I am starting with a dense matrix, rather than a handle in a sparse format. Could you please elaborate on how to do that? Is there an alternative to ddnscsr that does this job?&lt;/P&gt;</description>
      <pubDate>Tue, 10 Mar 2020 09:19:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-mkl-sparse-sypr-valgrind-memcheck-error/m-p/1136653#M26059</guid>
      <dc:creator>Mazur__Luke</dc:creator>
      <dc:date>2020-03-10T09:19:53Z</dc:date>
    </item>
    <item>
      <title>Hello Luke,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-mkl-sparse-sypr-valgrind-memcheck-error/m-p/1136654#M26060</link>
      <description>&lt;P&gt;Hello Luke,&lt;/P&gt;&lt;P&gt;I'm afraid it is a consequence of the IE SpBLAS API (for destroy functionality). Essentially, it is a minor issue and should be fixed if you set all variables corresponding to sparse handles to NULL after calling mkl_sparse_destroy (please verify it and let me know if I am wrong).&lt;/P&gt;&lt;P&gt;Best,&lt;BR /&gt;Kirill&lt;/P&gt;</description>
      <pubDate>Mon, 16 Mar 2020 02:53:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-mkl-sparse-sypr-valgrind-memcheck-error/m-p/1136654#M26060</guid>
      <dc:creator>Kirill_V_Intel</dc:creator>
      <dc:date>2020-03-16T02:53:14Z</dc:date>
    </item>
  </channel>
</rss>

