<?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 Possible corruption on the heap while using the dsyevr function from LAPACK in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855722#M6980</link>
    <description>&lt;P&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;I am using the function dsyevr in Visual Studio 2008 todo eigenvalue and eigenvectordecomposition for an input matrix. The function is used in a console application.&lt;BR /&gt;The code is as below:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;#include "stdafx.h"&lt;BR /&gt;#include &lt;VECTOR&gt;&lt;BR /&gt;#include &lt;MATH.H&gt;&lt;BR /&gt;#include "mkl.h"&lt;BR /&gt;using namespace std;&lt;BR /&gt;&lt;BR /&gt;#definen 5&lt;/MATH.H&gt;&lt;/VECTOR&gt;&lt;/P&gt;
&lt;P&gt;int main()&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;double a[n*n] = {&lt;/P&gt;
&lt;P&gt;0.67, 0.00, 0.00, 0.00, 0.00,&lt;/P&gt;
&lt;P&gt;-0.20, 3.82, 0.00, 0.00, 0.00,&lt;/P&gt;
&lt;P&gt;0.19, -0.13, 3.27, 0.00, 0.00,&lt;/P&gt;
&lt;P&gt;-1.06, 1.06, 0.11, 5.86, 0.00,&lt;/P&gt;
&lt;P&gt;0.46, -0.48, 1.10, -0.98, 3.54&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;char JOBZ = 'V';&lt;BR /&gt;char range = 'A';&lt;BR /&gt;char UPLO = 'L';&lt;BR /&gt;int info;&lt;BR /&gt;int lda = n;&lt;BR /&gt;int lwork;&lt;BR /&gt;double vl, vu;&lt;BR /&gt;int il = 1, iu = n;&lt;BR /&gt;double abstol = -1.0;&lt;BR /&gt;int ldz = n;&lt;BR /&gt;double wkopt;&lt;BR /&gt;int liwork;&lt;BR /&gt;int iwkopt;&lt;BR /&gt;int m;&lt;BR /&gt;vector&lt;DOUBLE&gt; w(n);&lt;BR /&gt;vector&lt;DOUBLE&gt; z(n*n);&lt;BR /&gt;vector&lt;INT&gt; isuppz(n);&lt;/INT&gt;&lt;/DOUBLE&gt;&lt;/DOUBLE&gt;&lt;/P&gt;
&lt;P&gt;lwork = n*26;&lt;BR /&gt;liwork = n*10;&lt;BR /&gt;vector&lt;DOUBLE&gt; work(lwork);&lt;BR /&gt;vector&lt;INT&gt; iwork(liwork);&lt;/INT&gt;&lt;/DOUBLE&gt;&lt;/P&gt;
&lt;P&gt;dsyevr(&amp;amp;JOBZ, &amp;amp;range, &amp;amp;UPLO, &amp;amp;n, &amp;amp;a[0], &amp;amp;lda, &amp;amp;vl, &amp;amp;vu, &amp;amp;il, &amp;amp;iu,&lt;BR /&gt; &amp;amp;abstol, &amp;amp;m, &amp;amp;w[0], &amp;amp;z[0], &amp;amp;ldz, &amp;amp;isuppz[0], &amp;amp;work[0], &amp;amp;lwork, &amp;amp;iwork[0], &amp;amp;liwork, &amp;amp;info);&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;return 0;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;When I step in the codefor the Debug version I can see that the function dsyevr returns the correct eigenvalues and eigenvectors. However, when the main function is returning I get the below error message:&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Windows has triggered a breakpoint in SVD_testing.exe.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;This may be due to a corruption of the heap, which indicates a bug in SVD_testing.exe or any of the DLLs it has loaded.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;This may also be due to the user pressing F12 while SVD_testing.exe has focus.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The output window may have more diagnostic information.&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;Does anybody know whyI get this error message?&lt;/P&gt;
&lt;P&gt;Thank you.&lt;/P&gt;
&lt;P&gt;Erasmo.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 01 Apr 2010 15:53:51 GMT</pubDate>
    <dc:creator>Erasmo_Coletti</dc:creator>
    <dc:date>2010-04-01T15:53:51Z</dc:date>
    <item>
      <title>Possible corruption on the heap while using the dsyevr function from LAPACK</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855722#M6980</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;I am using the function dsyevr in Visual Studio 2008 todo eigenvalue and eigenvectordecomposition for an input matrix. The function is used in a console application.&lt;BR /&gt;The code is as below:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;#include "stdafx.h"&lt;BR /&gt;#include &lt;VECTOR&gt;&lt;BR /&gt;#include &lt;MATH.H&gt;&lt;BR /&gt;#include "mkl.h"&lt;BR /&gt;using namespace std;&lt;BR /&gt;&lt;BR /&gt;#definen 5&lt;/MATH.H&gt;&lt;/VECTOR&gt;&lt;/P&gt;
&lt;P&gt;int main()&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;double a[n*n] = {&lt;/P&gt;
&lt;P&gt;0.67, 0.00, 0.00, 0.00, 0.00,&lt;/P&gt;
&lt;P&gt;-0.20, 3.82, 0.00, 0.00, 0.00,&lt;/P&gt;
&lt;P&gt;0.19, -0.13, 3.27, 0.00, 0.00,&lt;/P&gt;
&lt;P&gt;-1.06, 1.06, 0.11, 5.86, 0.00,&lt;/P&gt;
&lt;P&gt;0.46, -0.48, 1.10, -0.98, 3.54&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;char JOBZ = 'V';&lt;BR /&gt;char range = 'A';&lt;BR /&gt;char UPLO = 'L';&lt;BR /&gt;int info;&lt;BR /&gt;int lda = n;&lt;BR /&gt;int lwork;&lt;BR /&gt;double vl, vu;&lt;BR /&gt;int il = 1, iu = n;&lt;BR /&gt;double abstol = -1.0;&lt;BR /&gt;int ldz = n;&lt;BR /&gt;double wkopt;&lt;BR /&gt;int liwork;&lt;BR /&gt;int iwkopt;&lt;BR /&gt;int m;&lt;BR /&gt;vector&lt;DOUBLE&gt; w(n);&lt;BR /&gt;vector&lt;DOUBLE&gt; z(n*n);&lt;BR /&gt;vector&lt;INT&gt; isuppz(n);&lt;/INT&gt;&lt;/DOUBLE&gt;&lt;/DOUBLE&gt;&lt;/P&gt;
&lt;P&gt;lwork = n*26;&lt;BR /&gt;liwork = n*10;&lt;BR /&gt;vector&lt;DOUBLE&gt; work(lwork);&lt;BR /&gt;vector&lt;INT&gt; iwork(liwork);&lt;/INT&gt;&lt;/DOUBLE&gt;&lt;/P&gt;
&lt;P&gt;dsyevr(&amp;amp;JOBZ, &amp;amp;range, &amp;amp;UPLO, &amp;amp;n, &amp;amp;a[0], &amp;amp;lda, &amp;amp;vl, &amp;amp;vu, &amp;amp;il, &amp;amp;iu,&lt;BR /&gt; &amp;amp;abstol, &amp;amp;m, &amp;amp;w[0], &amp;amp;z[0], &amp;amp;ldz, &amp;amp;isuppz[0], &amp;amp;work[0], &amp;amp;lwork, &amp;amp;iwork[0], &amp;amp;liwork, &amp;amp;info);&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;return 0;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;When I step in the codefor the Debug version I can see that the function dsyevr returns the correct eigenvalues and eigenvectors. However, when the main function is returning I get the below error message:&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Windows has triggered a breakpoint in SVD_testing.exe.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;This may be due to a corruption of the heap, which indicates a bug in SVD_testing.exe or any of the DLLs it has loaded.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;This may also be due to the user pressing F12 while SVD_testing.exe has focus.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The output window may have more diagnostic information.&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;Does anybody know whyI get this error message?&lt;/P&gt;
&lt;P&gt;Thank you.&lt;/P&gt;
&lt;P&gt;Erasmo.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Apr 2010 15:53:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855722#M6980</guid>
      <dc:creator>Erasmo_Coletti</dc:creator>
      <dc:date>2010-04-01T15:53:51Z</dc:date>
    </item>
    <item>
      <title>Possible corruption on the heap while using the dsyevr function</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855723#M6981</link>
      <description>Erasmo,
&lt;DIV&gt;What MKL version are you using?&lt;/DIV&gt;
&lt;DIV&gt;Is it ia32 or Intel64 architecture?&lt;/DIV&gt;
&lt;DIV&gt;What was your linking line?&lt;/DIV&gt;
&lt;DIV&gt;--Gennady&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 01 Apr 2010 16:00:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855723#M6981</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-04-01T16:00:21Z</dc:date>
    </item>
    <item>
      <title>Possible corruption on the heap while using the dsyevr function</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855724#M6982</link>
      <description>Erasmo,&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;instead of&lt;B&gt;vector&lt;INT&gt; isuppz(n);&lt;/INT&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;allocate 2 times larger&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;B&gt;vector&lt;INT&gt; isuppz(2*n);&lt;/INT&gt;&lt;/B&gt; // see the description:isuppz --&lt;SPAN style="line-height: 16px;"&gt;Array, DIMENSION at least 2 *max(1, &lt;VAR class="varname"&gt;m&lt;/VAR&gt;).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;and try again.&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;--Gennady&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 05 Apr 2010 14:12:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855724#M6982</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-04-05T14:12:53Z</dc:date>
    </item>
    <item>
      <title>Possible corruption on the heap while using the dsyevr function</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855725#M6983</link>
      <description>Gennady,&lt;BR /&gt;&lt;BR /&gt;it seems to work now.&lt;BR /&gt;&lt;BR /&gt;Thank you very much.&lt;BR /&gt;&lt;BR /&gt;Erasmo.</description>
      <pubDate>Tue, 06 Apr 2010 08:16:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855725#M6983</guid>
      <dc:creator>Erasmo_Coletti</dc:creator>
      <dc:date>2010-04-06T08:16:09Z</dc:date>
    </item>
    <item>
      <title>Possible corruption on the heap while using the dsyevr function</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855726#M6984</link>
      <description>wondering whether your program 
works with an arbitrary size of input data?</description>
      <pubDate>Tue, 06 Apr 2010 18:03:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855726#M6984</guid>
      <dc:creator>petr_gamov</dc:creator>
      <dc:date>2010-04-06T18:03:01Z</dc:date>
    </item>
    <item>
      <title>Possible corruption on the heap while using the dsyevr function</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855727#M6985</link>
      <description>I'm not sure.I think it depends on how to implement stl.&lt;BR /&gt;Array very long, it is likely it will not work . Lapack's routines assume that the input data stored in contiguous memory, but if I'm not mistaken this is not always the case if we are talking about the stl.&lt;DIV&gt;--Gennady&lt;/DIV&gt;</description>
      <pubDate>Wed, 07 Apr 2010 06:36:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-corruption-on-the-heap-while-using-the-dsyevr-function/m-p/855727#M6985</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-04-07T06:36:23Z</dc:date>
    </item>
  </channel>
</rss>

