<?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 it really failed with version in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087952#M23059</link>
    <description>&lt;P&gt;it really failed with version 11.0. Checking with the latest MKL v.11.3.3, I don't see problem - below the output ( I slightly modified the code by adding error status and mkl version )&lt;/P&gt;

&lt;P&gt;Intel(R) Math Kernel Library Version 11.3.3 Product Build 20160413 for Intel(R) 64 architecture applications &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; &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; (1)...dss_create == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;BR /&gt;
	&amp;nbsp; (2)...dss_define_structure == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;BR /&gt;
	&amp;nbsp; (3)...dss_reoder == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;BR /&gt;
	&amp;nbsp; (4) ...dss_factor_real == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;BR /&gt;
	&amp;nbsp;(5)...dss_solve_real == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;BR /&gt;
	&amp;nbsp;(6)...dss_delete == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/P&gt;

&lt;P&gt;the updates file is also attached.&lt;/P&gt;</description>
    <pubDate>Fri, 20 May 2016 10:26:00 GMT</pubDate>
    <dc:creator>Gennady_F_Intel</dc:creator>
    <dc:date>2016-05-20T10:26:00Z</dc:date>
    <item>
      <title>How to use DSS to handle a full matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087949#M23056</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;

&lt;P&gt;I have a program which will randomly generate cases with linear equations to be solved. For most of the cases, the linear equations will be sparse. So I use the DSS to solve them. But when it involves a full matrix problem.&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;The DSS will stack at the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;dss_reorder and shows forrtl: severe (157): Program Exception -access violation. &lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Can anyone tell me how to fix this problem in an efficient way? I don't want to add too much codes to check if the matrix is full and add additional routine for the full matrix case.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;The attached is my test case for the full matrix problem. Your help will be greatly appreciated.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Thanks!&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Tianyu&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;      PROGRAM Test
      INCLUDE 'mkl_dss.f77'

      INTEGER tIU(:), tJU(:), Idum(:), ITER
      DOUBLE PRECISION tUM(:), tXDIFF(:), tX(:)
      ALLOCATABLE tIU, tJU, tUM, tXDIFF, tX, Idum
      
      INTEGER nNonZeros,nRow
      
      INTEGER*8 handle
      INTEGER error

      !OPEN (UNIT=10, FILE='testInfo.dat') 
      !READ (10,7004) nNonZeros, nRow
      !CLOSE(10)
    
      nRow=2
      nNonZeros=4
      
      ALLOCATE(tIU(nRow+1))
      ALLOCATE(tXDIFF(nRow))
      ALLOCATE(tX(nRow))
      ALLOCATE(tJU(nNonZeros))
      ALLOCATE(tUM(nNonZeros))
      ALLOCATE(Idum(nRow))


      tJU(1)=1
      tJU(2)=2
      tJU(3)=1
      tJU(4)=2
      tIU(1)=1
      tIU(2)=3
      tIU(3)=5
      tUM(1)=0.0751
      tUM(2)=0.0116
      tUM(3)=0.0116
      tUM(4)=-0.0751
      tXDIFF(1)=1
      tXDIFF(2)=0
      
      !OPEN (UNIT=10, FILE='columns.dat') 
      !READ (10,7002) (tJU(II),II=1,nNonZeros)
      !CLOSE(10)
      !
      !OPEN (UNIT=10, FILE='rowIndex.dat') 
      !READ (10,7002) (tIU(II),II=1,nRow+1)
      !CLOSE(10)
      !
      !OPEN (UNIT=10, FILE='values.dat') 
      !READ (10,7001) (tUM(II),II=1,nNonZeros)
      !CLOSE(10)
      !
      !OPEN (UNIT=10, FILE='loadVector.dat')
      !READ (10,7001) (tXDIFF(II),II=1,nRow)
      !CLOSE(10)   
      


      ITER=1
C---------------------------------------------------------------------------
C Initialize the solver
C---------------------------------------------------------------------------
      error = dss_create(handle, MKL_DSS_DEFAULTS+MKL_DSS_OOC_VARIABLE)
      IF (error .NE. MKL_DSS_SUCCESS ) GOTO 999
C---------------------------------------------------------------------------

C---------------------------------------------------------------------------
C Define the non-zero structure of the matrix
C---------------------------------------------------------------------------
         !    error = dss_define_structure( handle, MKL_DSS_SYMMETRIC,
         !&amp;amp; tIU, nRow, nRow, tJU, nNonZeros )
        error = dss_define_structure( handle, MKL_DSS_NON_SYMMETRIC,
     &amp;amp; tIU, nRow, nRow, tJU, nNonZeros )
      IF (error .NE. MKL_DSS_SUCCESS ) GOTO 999
C---------------------------------------------------------------------------

C---------------------------------------------------------------------------
C Reorder the matrix
C---------------------------------------------------------------------------

      IF (ITER.EQ.1) THEN
          error = dss_reorder( handle,  MKL_DSS_GET_ORDER, Idum)
          IF (error .NE. MKL_DSS_SUCCESS ) GOTO 999
      ELSE
          error = dss_reorder( handle, MKL_DSS_MY_ORDER, Idum)
          IF (error .NE. MKL_DSS_SUCCESS ) GOTO 999
      ENDIF

C---------------------------------------------------------------------------
C Factor the matrix
C---------------------------------------------------------------------------
      error = dss_factor_real( handle, MKL_DSS_DEFAULTS, tUM)
      IF (error .NE. MKL_DSS_SUCCESS ) GOTO 999
      
C---------------------------------------------------------------------------
C Get the solution vector
C---------------------------------------------------------------------------
      error = dss_solve_real( handle, MKL_DSS_DEFAULTS,
     &amp;amp; tXDIFF, 1, tX)
      IF (error .NE. MKL_DSS_SUCCESS ) GOTO 999
C---------------------------------------------------------------------------
     
C---------------------------------------------------------------------------
C Deallocate solver storage
C---------------------------------------------------------------------------
      error = dss_delete( handle, MKL_DSS_DEFAULTS )
      IF (error .NE. MKL_DSS_SUCCESS ) GOTO 999
C---------------------------------------------------------------------------

      OPEN (UNIT=10, FILE='OutValues.dat') 
      WRITE (10,7005) (tX(II),II=1,nRow)
      CLOSE(10)
      GOTO 1999
      
7001  FORMAT(1X,D)     
7002  FORMAT(1X,I5)
7003  FORMAT(1X,I,1X,D)
7004  FORMAT(1X,I,1X,I)
7005  FORMAT(1X,D)
      
999   WRITE(*,*) "Solver returned error code ", error
      
1999  DEALLOCATE(tIU,tJU,tUM,tXDIFF,tX,Idum)
      
      END
      
      
&lt;/PRE&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Apr 2016 23:19:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087949#M23056</guid>
      <dc:creator>Tianyu_D_</dc:creator>
      <dc:date>2016-04-13T23:19:15Z</dc:date>
    </item>
    <item>
      <title>Tianyu, thanks for report.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087950#M23057</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;Tianyu, thanks for report. What MKL version do you use?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Apr 2016 10:45:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087950#M23057</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2016-04-14T10:45:12Z</dc:date>
    </item>
    <item>
      <title>Hi Gennady, I am using MKL 11</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087951#M23058</link>
      <description>&lt;P&gt;Hi Gennady,&amp;nbsp;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;I am using MKL 11.0.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Apr 2016 13:27:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087951#M23058</guid>
      <dc:creator>Tianyu_D_</dc:creator>
      <dc:date>2016-04-14T13:27:56Z</dc:date>
    </item>
    <item>
      <title>it really failed with version</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087952#M23059</link>
      <description>&lt;P&gt;it really failed with version 11.0. Checking with the latest MKL v.11.3.3, I don't see problem - below the output ( I slightly modified the code by adding error status and mkl version )&lt;/P&gt;

&lt;P&gt;Intel(R) Math Kernel Library Version 11.3.3 Product Build 20160413 for Intel(R) 64 architecture applications &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; &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; (1)...dss_create == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;BR /&gt;
	&amp;nbsp; (2)...dss_define_structure == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;BR /&gt;
	&amp;nbsp; (3)...dss_reoder == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;BR /&gt;
	&amp;nbsp; (4) ...dss_factor_real == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;BR /&gt;
	&amp;nbsp;(5)...dss_solve_real == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;BR /&gt;
	&amp;nbsp;(6)...dss_delete == &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/P&gt;

&lt;P&gt;the updates file is also attached.&lt;/P&gt;</description>
      <pubDate>Fri, 20 May 2016 10:26:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087952#M23059</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2016-05-20T10:26:00Z</dc:date>
    </item>
    <item>
      <title>Thanks Gennady.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087953#M23060</link>
      <description>&lt;P&gt;Thanks Gennady.&lt;/P&gt;

&lt;P&gt;Actually, I have extended the full matrix into a sparse matrix by adding one more row and of course one more column as well. In that way, DSS in MKL 11.0 works.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 20 May 2016 15:54:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-DSS-to-handle-a-full-matrix/m-p/1087953#M23060</guid>
      <dc:creator>Tianyu_D_</dc:creator>
      <dc:date>2016-05-20T15:54:13Z</dc:date>
    </item>
  </channel>
</rss>

