<?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 Stack Overflow Error in Eigenvalue Solver: dfeast_scsrgv  in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Stack-Overflow-Error-in-Eigenvalue-Solver-dfeast-scsrgv/m-p/1035182#M20391</link>
    <description>&lt;P style="font-size: 12px;"&gt;Hi,&lt;/P&gt;

&lt;P style="font-size: 12px;"&gt;I'm trying to solve eigenvalue problem for large sparse matrices using&amp;nbsp;dfeast_scsrgv function. The function works fine for small problems (ex: 8*8 sparse matrix) but it gives System.StackOverflowException error for larger problems( ex: 200*200 sparse matrix) . I'm using Visual Studio 2008 and MKL version 11 with most recent updates installed. My system is windows 64 bit and the programming language is C++. Following I provided the eigenvalue solver code that I'm using. In debug mode when I reach &amp;nbsp;dfeast_scsrgv &amp;nbsp;line it gives me Stack Overflow error. I do not think I am using any infinite loop or unnecessary large arrays. I would appreciate if someone can help me to fix the problem. Thanks!&lt;/P&gt;

&lt;PRE style="color: rgb(0, 0, 0); line-height: normal;"&gt;&lt;SPAN style="line-height: 15.43px; font-size: 10px;"&gt;[cpp]&lt;/SPAN&gt;&amp;nbsp; &amp;nbsp;
//Convert stiffness and mass matrix to CSR format - Seldon library
int NumStiff = M_GStiff.GetDataSize();&amp;nbsp; &amp;nbsp;
Vector&amp;lt;double&amp;gt; V_GStiffVal &amp;nbsp; (NumStiff);&amp;nbsp; &amp;nbsp; 
Vector&amp;lt;int&amp;gt; &amp;nbsp; &amp;nbsp;V_GStiffColInd(NumStiff);
Vector&amp;lt;int&amp;gt; &amp;nbsp; &amp;nbsp;V_GStiffRowPtr(PrbDim+1);
ConvertToCSR(M_GStiff, prop, V_GStiffRowPtr, V_GStiffColInd, V_GStiffVal); &amp;nbsp;
&amp;nbsp;
int NumMass = M_GMass.GetDataSize();
Vector&amp;lt;double&amp;gt; V_GMassVal &amp;nbsp; (NumMass);
Vector&amp;lt;int&amp;gt; &amp;nbsp; &amp;nbsp;V_GMassColInd(NumMass);
Vector&amp;lt;int&amp;gt; &amp;nbsp; &amp;nbsp;V_GMassRowPtr(PrbDim+1);
ConvertToCSR(M_GMass, prop, V_GMassRowPtr, V_GMassColInd, V_GMassVal); &amp;nbsp;&amp;nbsp;
&amp;nbsp;
//Release memory
M_GStiff.Clear();
M_GMass.Clear();
&amp;nbsp;
//Convert Seldon format to typical C array
double* a = V_GStiffVal.GetData();
int* &amp;nbsp; ia = V_GStiffRowPtr.GetData();
int* &amp;nbsp; ja = V_GStiffColInd.GetData(); &amp;nbsp;&amp;nbsp;
&amp;nbsp;
double* b = V_GMassVal.GetData();
int* &amp;nbsp; ib = V_GMassRowPtr.GetData();
int* &amp;nbsp; jb = V_GMassColInd.GetData();
&amp;nbsp;
// Convert matrix from 0-based C-notation to Fortran 1-based
int nnz = ia[PrbDim];&amp;nbsp;
for (int i = 0; i &amp;lt; PrbDim+1; i++) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ia&lt;I&gt; += 1; &amp;nbsp; &amp;nbsp;
for (int i = 0; i &amp;lt; nnz; i++) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ja&lt;I&gt; += 1; &amp;nbsp;
&amp;nbsp;
for (int i = 0; i &amp;lt; PrbDim+1; i++)&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;ib&lt;I&gt; += 1;
for (int i = 0; i &amp;lt; nnz; i++)&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb&lt;I&gt; += 1;
&amp;nbsp;
// Initialize variables for the solver
double Error &amp;nbsp; &amp;nbsp;= 0;
int &amp;nbsp; &amp;nbsp;Loop &amp;nbsp; &amp;nbsp; = 0;
int &amp;nbsp; &amp;nbsp;NumMode &amp;nbsp;= 10;
double Emin &amp;nbsp; &amp;nbsp; = 0;
double Emax &amp;nbsp; &amp;nbsp; = pow(10.0,10.0); &amp;nbsp; &amp;nbsp;
int &amp;nbsp; &amp;nbsp;Flag &amp;nbsp; &amp;nbsp; = 0;
char &amp;nbsp; MTyp &amp;nbsp; &amp;nbsp; = 'U';
int &amp;nbsp; &amp;nbsp;NumEigen = NumMode;
&amp;nbsp;
vector&amp;lt;int&amp;gt; &amp;nbsp; &amp;nbsp;V_FPM (128,0);
vector&amp;lt;double&amp;gt; V_Eigen(NumMode,0);
vector&amp;lt;double&amp;gt; V_Res (NumMode,0);&amp;nbsp; &amp;nbsp;&amp;nbsp;
&amp;nbsp;
V_FPM[0] &amp;nbsp;= 1;
V_FPM[1] &amp;nbsp;= 8;
V_FPM[2] &amp;nbsp;= 12;
V_FPM[3] &amp;nbsp;= 20;
V_FPM[4] &amp;nbsp;= 0;
V_FPM[5] &amp;nbsp;= 0;
V_FPM[6] &amp;nbsp;= 5;
V_FPM[13] = 0;
V_FPM[63] = 0;
&amp;nbsp;
int* &amp;nbsp; &amp;nbsp;P_FPM &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;amp;V_FPM[0];
double* P_Eigen &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;amp;V_Eigen[0]; &amp;nbsp;
double* P_Res &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;amp;V_Res[0]; &amp;nbsp; &amp;nbsp;
double dDum;
&amp;nbsp;
// Call Eigenvalue Solver
dfeast_scsrgv (&amp;amp;MTyp, &amp;amp;PrbDim, a, ia, ja, b, ib, jb,
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; P_FPM, &amp;amp;Error, &amp;amp;Loop, &amp;amp;Emin, &amp;amp;Emax, &amp;amp;NumMode, P_Eigen, &amp;amp;dDum, &amp;amp;NumEigen, P_Res, &amp;amp;Flag);&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;

&lt;P&gt;&lt;SPAN style="line-height: 15.43px; font-size: 10px;"&gt;[/cpp]&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 09 Jun 2014 00:23:44 GMT</pubDate>
    <dc:creator>vahid_s_</dc:creator>
    <dc:date>2014-06-09T00:23:44Z</dc:date>
    <item>
      <title>Stack Overflow Error in Eigenvalue Solver: dfeast_scsrgv</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Stack-Overflow-Error-in-Eigenvalue-Solver-dfeast-scsrgv/m-p/1035182#M20391</link>
      <description>&lt;P style="font-size: 12px;"&gt;Hi,&lt;/P&gt;

&lt;P style="font-size: 12px;"&gt;I'm trying to solve eigenvalue problem for large sparse matrices using&amp;nbsp;dfeast_scsrgv function. The function works fine for small problems (ex: 8*8 sparse matrix) but it gives System.StackOverflowException error for larger problems( ex: 200*200 sparse matrix) . I'm using Visual Studio 2008 and MKL version 11 with most recent updates installed. My system is windows 64 bit and the programming language is C++. Following I provided the eigenvalue solver code that I'm using. In debug mode when I reach &amp;nbsp;dfeast_scsrgv &amp;nbsp;line it gives me Stack Overflow error. I do not think I am using any infinite loop or unnecessary large arrays. I would appreciate if someone can help me to fix the problem. Thanks!&lt;/P&gt;

&lt;PRE style="color: rgb(0, 0, 0); line-height: normal;"&gt;&lt;SPAN style="line-height: 15.43px; font-size: 10px;"&gt;[cpp]&lt;/SPAN&gt;&amp;nbsp; &amp;nbsp;
//Convert stiffness and mass matrix to CSR format - Seldon library
int NumStiff = M_GStiff.GetDataSize();&amp;nbsp; &amp;nbsp;
Vector&amp;lt;double&amp;gt; V_GStiffVal &amp;nbsp; (NumStiff);&amp;nbsp; &amp;nbsp; 
Vector&amp;lt;int&amp;gt; &amp;nbsp; &amp;nbsp;V_GStiffColInd(NumStiff);
Vector&amp;lt;int&amp;gt; &amp;nbsp; &amp;nbsp;V_GStiffRowPtr(PrbDim+1);
ConvertToCSR(M_GStiff, prop, V_GStiffRowPtr, V_GStiffColInd, V_GStiffVal); &amp;nbsp;
&amp;nbsp;
int NumMass = M_GMass.GetDataSize();
Vector&amp;lt;double&amp;gt; V_GMassVal &amp;nbsp; (NumMass);
Vector&amp;lt;int&amp;gt; &amp;nbsp; &amp;nbsp;V_GMassColInd(NumMass);
Vector&amp;lt;int&amp;gt; &amp;nbsp; &amp;nbsp;V_GMassRowPtr(PrbDim+1);
ConvertToCSR(M_GMass, prop, V_GMassRowPtr, V_GMassColInd, V_GMassVal); &amp;nbsp;&amp;nbsp;
&amp;nbsp;
//Release memory
M_GStiff.Clear();
M_GMass.Clear();
&amp;nbsp;
//Convert Seldon format to typical C array
double* a = V_GStiffVal.GetData();
int* &amp;nbsp; ia = V_GStiffRowPtr.GetData();
int* &amp;nbsp; ja = V_GStiffColInd.GetData(); &amp;nbsp;&amp;nbsp;
&amp;nbsp;
double* b = V_GMassVal.GetData();
int* &amp;nbsp; ib = V_GMassRowPtr.GetData();
int* &amp;nbsp; jb = V_GMassColInd.GetData();
&amp;nbsp;
// Convert matrix from 0-based C-notation to Fortran 1-based
int nnz = ia[PrbDim];&amp;nbsp;
for (int i = 0; i &amp;lt; PrbDim+1; i++) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ia&lt;I&gt; += 1; &amp;nbsp; &amp;nbsp;
for (int i = 0; i &amp;lt; nnz; i++) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ja&lt;I&gt; += 1; &amp;nbsp;
&amp;nbsp;
for (int i = 0; i &amp;lt; PrbDim+1; i++)&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;ib&lt;I&gt; += 1;
for (int i = 0; i &amp;lt; nnz; i++)&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb&lt;I&gt; += 1;
&amp;nbsp;
// Initialize variables for the solver
double Error &amp;nbsp; &amp;nbsp;= 0;
int &amp;nbsp; &amp;nbsp;Loop &amp;nbsp; &amp;nbsp; = 0;
int &amp;nbsp; &amp;nbsp;NumMode &amp;nbsp;= 10;
double Emin &amp;nbsp; &amp;nbsp; = 0;
double Emax &amp;nbsp; &amp;nbsp; = pow(10.0,10.0); &amp;nbsp; &amp;nbsp;
int &amp;nbsp; &amp;nbsp;Flag &amp;nbsp; &amp;nbsp; = 0;
char &amp;nbsp; MTyp &amp;nbsp; &amp;nbsp; = 'U';
int &amp;nbsp; &amp;nbsp;NumEigen = NumMode;
&amp;nbsp;
vector&amp;lt;int&amp;gt; &amp;nbsp; &amp;nbsp;V_FPM (128,0);
vector&amp;lt;double&amp;gt; V_Eigen(NumMode,0);
vector&amp;lt;double&amp;gt; V_Res (NumMode,0);&amp;nbsp; &amp;nbsp;&amp;nbsp;
&amp;nbsp;
V_FPM[0] &amp;nbsp;= 1;
V_FPM[1] &amp;nbsp;= 8;
V_FPM[2] &amp;nbsp;= 12;
V_FPM[3] &amp;nbsp;= 20;
V_FPM[4] &amp;nbsp;= 0;
V_FPM[5] &amp;nbsp;= 0;
V_FPM[6] &amp;nbsp;= 5;
V_FPM[13] = 0;
V_FPM[63] = 0;
&amp;nbsp;
int* &amp;nbsp; &amp;nbsp;P_FPM &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;amp;V_FPM[0];
double* P_Eigen &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;amp;V_Eigen[0]; &amp;nbsp;
double* P_Res &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;amp;V_Res[0]; &amp;nbsp; &amp;nbsp;
double dDum;
&amp;nbsp;
// Call Eigenvalue Solver
dfeast_scsrgv (&amp;amp;MTyp, &amp;amp;PrbDim, a, ia, ja, b, ib, jb,
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; P_FPM, &amp;amp;Error, &amp;amp;Loop, &amp;amp;Emin, &amp;amp;Emax, &amp;amp;NumMode, P_Eigen, &amp;amp;dDum, &amp;amp;NumEigen, P_Res, &amp;amp;Flag);&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;

&lt;P&gt;&lt;SPAN style="line-height: 15.43px; font-size: 10px;"&gt;[/cpp]&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 09 Jun 2014 00:23:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Stack-Overflow-Error-in-Eigenvalue-Solver-dfeast-scsrgv/m-p/1035182#M20391</guid>
      <dc:creator>vahid_s_</dc:creator>
      <dc:date>2014-06-09T00:23:44Z</dc:date>
    </item>
    <item>
      <title>This question might be better</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Stack-Overflow-Error-in-Eigenvalue-Solver-dfeast-scsrgv/m-p/1035183#M20392</link>
      <description>&lt;P&gt;This question might be better to be posted to the Intel MKL forum. I will transfer you there.&lt;/P&gt;

&lt;P&gt;Have you checked some other postings about this API on the MKL forum? like this one: &lt;A href="https://software.intel.com/en-us/forums/topic/515045"&gt;https://software.intel.com/en-us/forums/topic/515045&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Jennifer&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jun 2014 18:35:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Stack-Overflow-Error-in-Eigenvalue-Solver-dfeast-scsrgv/m-p/1035183#M20392</guid>
      <dc:creator>JenniferJ</dc:creator>
      <dc:date>2014-06-12T18:35:55Z</dc:date>
    </item>
    <item>
      <title>@vahid</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Stack-Overflow-Error-in-Eigenvalue-Solver-dfeast-scsrgv/m-p/1035184#M20393</link>
      <description>&lt;P&gt;@vahid&lt;/P&gt;

&lt;P&gt;Can you post VS debugger output?&lt;/P&gt;</description>
      <pubDate>Mon, 16 Jun 2014 10:37:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Stack-Overflow-Error-in-Eigenvalue-Solver-dfeast-scsrgv/m-p/1035184#M20393</guid>
      <dc:creator>Bernard</dc:creator>
      <dc:date>2014-06-16T10:37:31Z</dc:date>
    </item>
  </channel>
</rss>

