<?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 dss_define_structure in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813759#M4126</link>
    <description>would you please show the libraries which you use for linking this example.</description>
    <pubDate>Wed, 08 Feb 2012 15:59:43 GMT</pubDate>
    <dc:creator>Gennady_F_Intel</dc:creator>
    <dc:date>2012-02-08T15:59:43Z</dc:date>
    <item>
      <title>dss_define_structure</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813758#M4125</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I want to use the direct sparse solver with the intel fortran interface from the mkl library.&lt;BR /&gt;The matrix I want to invert is symmetric complex non-hermitian.&lt;BR /&gt;Can someone give me a hint what the correct option in dss_define_structure, dss_factor_complex would be.&lt;BR /&gt;I use a 64bit linux cluster version of mkl10.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I tried the following:&lt;BR /&gt;&lt;BR /&gt;...&lt;BR /&gt;error = DSS_CREATE( handle, MKL_DSS_DEFAULTS )&lt;BR /&gt;if(error /= MKL_DSS_SUCCESS)print*,'ERROR'&lt;BR /&gt;&lt;BR /&gt;error = DSS_DEFINE_STRUCTURE( handle, MKL_DSS_SYMMETRIC, rowindex, ndf_hb, ndf_hb, columns, totnon )&lt;BR /&gt;if(error /= MKL_DSS_SUCCESS)print*,'ERROR'&lt;BR /&gt;&lt;BR /&gt;error = DSS_REORDER( handle, MKL_DSS_DEFAULTS, perm )&lt;BR /&gt;if(error /= MKL_DSS_SUCCESS)print*,'ERROR'&lt;BR /&gt;&lt;BR /&gt;error = DSS_FACTOR_COMPLEX( handle, MKL_DSS_DEFAULTS, values )&lt;BR /&gt;if(error /= MKL_DSS_SUCCESS)print*,'ERROR'&lt;BR /&gt;&lt;BR /&gt;error = DSS_DELETE( handle, MKL_DSS_DEFAULTS )&lt;BR /&gt;if(error /= MKL_DSS_SUCCESS)print*,'ERROR'&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;which gives a segmentation fault :&lt;BR /&gt;&lt;BR /&gt;forrtl: severe (174): SIGSEGV, segmentation fault occurred&lt;BR /&gt;Image PC Routine Line Source&lt;BR /&gt;libpthread.so.0 000000303AC0E9DD Unknown Unknown Unknown&lt;BR /&gt;libiomp5.so 00002B734B6A989E Unknown Unknown Unknown&lt;BR /&gt;forrtl: severe (174): SIGSEGV, segmentation fault occurred&lt;BR /&gt;&lt;BR /&gt;The size of the input arrays values,columns and rowindex are correct - I checked several times.&lt;BR /&gt;Thanks in advance.&lt;BR /&gt;&lt;BR /&gt;Eide&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Feb 2012 14:27:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813758#M4125</guid>
      <dc:creator>eide</dc:creator>
      <dc:date>2012-02-08T14:27:32Z</dc:date>
    </item>
    <item>
      <title>dss_define_structure</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813759#M4126</link>
      <description>would you please show the libraries which you use for linking this example.</description>
      <pubDate>Wed, 08 Feb 2012 15:59:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813759#M4126</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2012-02-08T15:59:43Z</dc:date>
    </item>
    <item>
      <title>dss_define_structure</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813760#M4127</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I used the dss_sym_f90 from the example directory coming with the mkl lib as a template.&lt;BR /&gt;&lt;BR /&gt;In the source code I have:&lt;BR /&gt;&lt;BR /&gt;INCLUDE 'mkl_dss.f90' as the first line&lt;BR /&gt;&lt;BR /&gt;and&lt;BR /&gt;&lt;BR /&gt;use mkl_dss&lt;BR /&gt;&lt;BR /&gt;to compile I use the following:&lt;BR /&gt;&lt;BR /&gt;ifort -w -I/prog/Intel/mkl10cluster/include -fpp *.f90 -L/prog/Intel/mkl10cluster/lib/em64t /prog/Intel/mkl10cluster/lib/em64t/libmkl_solver_lp64.a /prog/Intel/mkl10cluster/lib/em64t/libmkl_intel_lp64.a -Wl,--start-group /prog/Intel/mkl10cluster/lib/em64t/libmkl_intel_thread.a /prog/Intel/mkl10cluster/lib/em64t/libmkl_core.a -Wl,--end-group -L/prog/Intel/mkl10cluster/lib/em64t -liomp5 -lpthread -lm -o x_out&lt;BR /&gt;&lt;BR /&gt;which i took from the makefile in the example directory.&lt;BR /&gt;Thanks for your help.&lt;BR /&gt;&lt;BR /&gt;Eide&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Feb 2012 16:27:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813760#M4127</guid>
      <dc:creator>eide</dc:creator>
      <dc:date>2012-02-08T16:27:43Z</dc:date>
    </item>
    <item>
      <title>dss_define_structure</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813761#M4128</link>
      <description>Eide, I compiled this example from the latest version (10.3.8) and the test ran well. here is the output produced&lt;DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;pow of determinant is   0.000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;base of determinant is   2.250&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Determinant is   2.250&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Solution Array:  -326.333  983.000  163.417  398.000  61.500&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;--Gennady&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 08 Feb 2012 17:56:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813761#M4128</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2012-02-08T17:56:51Z</dc:date>
    </item>
    <item>
      <title>dss_define_structure</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813762#M4129</link>
      <description>Hi Gennady,&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I used the dss_sym_f90 just as a template of how to use the solver. My problem is different in some characteristics.&lt;BR /&gt;The matrix I want to solve is 210000 by 210000 with ca 23 * 10**6 non zero entries, symmetric with &lt;SPAN style="text-decoration: underline;"&gt;complex &lt;/SPAN&gt;values on the diagonal(therefore non-hermitian). In the array "values" I did put all non zero values(not just the upper triangle).&lt;BR /&gt;When I put all non zero elements in the "values" arrays do I have to choose MKL_DSS_NON_SYMMETRIC in the line with:&lt;BR /&gt;&lt;BR /&gt;error = DSS_DEFINE_STRUCTURE( handle, MKL_DSS_SYMMETRIC, rowindex, ndf_hb, ndf_hb, columns, totnon )&lt;BR /&gt;&lt;BR /&gt;????&lt;BR /&gt;&lt;BR /&gt;And if so - what would be the corresponding option in the dss_solve_complex line. There are 4 possibilities:&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;The &lt;VAR class="varname"&gt;opt&lt;/VAR&gt; argument should contain one of the following options: &lt;A name="ul_95921C9534BD4890A958EB5039601EDA"&gt;&lt;/A&gt;&lt;/P&gt;&lt;UL class="none" id="ul_95921C9534BD4890A958EB5039601EDA" type="disc"&gt;&lt;LI id="li_535E6B3D50D44F23BC8B651F066C3B51"&gt;&lt;A name="li_535E6B3D50D44F23BC8B651F066C3B51"&gt;&lt;/A&gt;&lt;P&gt;MKL_DSS_POSITIVE_DEFINITE, &lt;/P&gt;
&lt;/LI&gt;&lt;LI id="li_FE50AB586CB1474BA0831A5A02D6CCDF"&gt;&lt;A name="li_FE50AB586CB1474BA0831A5A02D6CCDF"&gt;&lt;/A&gt;&lt;P&gt;MKL_DSS_INDEFINITE, &lt;/P&gt;
&lt;/LI&gt;&lt;LI id="li_508DD1B5D6834D31931DAF3249F9BD2F"&gt;&lt;A name="li_508DD1B5D6834D31931DAF3249F9BD2F"&gt;&lt;/A&gt;&lt;P&gt;MKL_DSS_HERMITIAN_POSITIVE_DEFINITE, &lt;/P&gt;
&lt;/LI&gt;&lt;LI id="li_C13E64AB64E94F90ACDC8519B150F91A"&gt;&lt;A name="li_C13E64AB64E94F90ACDC8519B150F91A"&gt;&lt;/A&gt;&lt;P&gt;MKL_DSS_HERMITIAN_INDEFINITE , &lt;/P&gt;
&lt;/LI&gt;&lt;/UL&gt;see documentation:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/win/mkl/refman/ssr/ssr_DSSIntro.html" target="_blank"&gt;http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/win/mkl/refman/ssr/ssr_DSSIntro.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Or can dss not solve a symmetric, complex, non-hermitian linear system ?&lt;BR /&gt;Thanks in advance.&lt;BR /&gt;(btw the example dss_sym_f90 works also on my system with the same result as you get)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Eide&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Feb 2012 19:04:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813762#M4129</guid>
      <dc:creator>eide</dc:creator>
      <dc:date>2012-02-08T19:04:46Z</dc:date>
    </item>
    <item>
      <title>dss_define_structure</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813763#M4130</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;the solution if you have a symmetric non hermitian matrix is:&lt;BR /&gt;&lt;BR /&gt;1) put all non zero elements in the input array (not only the upper triangle)&lt;BR /&gt;2) declare the structure as non symmetric (although it's symmetric)&lt;BR /&gt; -&amp;gt; DSS_DEFINE_STRUCTURE( handle, MKL_DSS_NON_SYMMETRIC, rowindex, nrows, nrows, columns, totalnonzero)&lt;BR /&gt;3) choose the correct factorzation - in this case LDL^T&lt;BR /&gt; -&amp;gt; DSS_FACTOR_COMPLEX( handle, MKL_DSS_POSITIVE_DEFINITE, values)&lt;BR /&gt;&lt;BR /&gt;It works fine : )</description>
      <pubDate>Thu, 09 Feb 2012 19:50:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/dss-define-structure/m-p/813763#M4130</guid>
      <dc:creator>eide</dc:creator>
      <dc:date>2012-02-09T19:50:47Z</dc:date>
    </item>
  </channel>
</rss>

