- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear all,
According to Intel there is a new support in MKL for largest eigenvalues.
I have upgraded to the latest Fortran compiler with MKL. I can compile the example folder for the largest eigenvalues but when I have tried to solve the following example I have got the following error.
Here is the minimal example:
PROGRAM sparse_exp
USE MKL_SPBLAS
USE MKL_SOLVERS_EE
implicit none
!!!!!!!!!!!!!!!!! Matrix declaration variables !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
integer n,i
parameter (n=5)
real val(25)
integer rows(n+1), cols(25)
! Matrix descriptor
TYPE(MATRIX_DESCR) descrA
! CSR matrix structure
TYPE(SPARSE_MATRIX_T) csrA
!!!!!!!!!!!!!!!!! Declaration of MKL_SPARSE_S_EV variables !!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!! E - eigenvalues, X - eigenvectors, res - residual !!!!!!!!!!!!
!!!!!!!!!!!!!!!!! XL - left singular vectors, XR - right singular vectors !!!!!!
character*1 WHICH
parameter (WHICH='L') !L - for largest eigenvalues to find
integer pm(128)
integer K0,K,info
parameter (K0 = 1) !Required number of eigenvalues/singular values to find
real E(n)
real sigma(n)
real X(n,n), XL(n,n), XR(n,n)
real res(n)
val(1) = 0.2124
val(2) = 0.1887
val(3) = 0.1838
val(4) = 0.2114
val(5) = 0.2016
val(6) = 0.1899
val(7) = 0.2614
val(8) = 0.2012
val(9) = 0.1883
val(10)= 0.1629
val(11)= 0.1845
val(12)= 0.2007
val(13)= 0.2373
val(14)= 0.1863
val(15)= 0.1926
val(16)= 0.2114
val(17)= 0.1871
val(18)= 0.1856
val(19)= 0.2106
val(20)= 0.2032
val(21)= 0.2016
val(22)= 0.1619
val(23)= 0.1919
val(24)= 0.2032
val(25)= 0.2395
rows(1)=1
rows(2)=6
rows(3)=11
rows(4)=16
rows(5)=21
rows(6)=26
cols(1) = 1
cols(2) = 2
cols(3) = 3
cols(4) = 4
cols(5) = 5
cols(6) = 1
cols(7) = 2
cols(8) = 3
cols(9) = 4
cols(10)= 5
cols(11)= 1
cols(12)= 2
cols(13)= 3
cols(14)= 4
cols(15)= 5
cols(16)= 1
cols(17)= 2
cols(18)= 3
cols(19)= 4
cols(20)= 5
cols(21)= 1
cols(22)= 2
cols(23)= 3
cols(24)= 4
cols(25)= 5
print *,'Sparse matrix size',n
!
! Task 1. Call MKL_SPARSE_C_CREATE_CSR to create matrix handle
!
info = mkl_sparse_s_create_csr(csrA,SPARSE_INDEX_BASE_ZERO,N,N,rows,rows(2),cols,val)
! Create matrix descriptor
descrA % TYPE = SPARSE_MATRIX_TYPE_GENERAL
!
! Task 2. Call MKL_SPARSE_EE_INIT to define the default values for the input
! parameters.
!
info = mkl_sparse_ee_init(pm)
pm(2) = 4 !Setting tolerance
pm(8) = 1 ! Use absolute stopping criteria
print *, ' Testing mkl_sparse_s_ev '
!
! Task 3. Solve the standard eigenvalue problem Ax=ex.
!
info = mkl_sparse_s_ev(WHICH,pm,csrA,descrA,k0,k,E,X,res)
print *,' OUTPUT INFO ',info
if(info.ne.0) stop 1
print *, 'Number of eigenvalues found ', k
print *, ' Computed | Expected '
print *, ' Eigenvalues | Eigenvalues '
do i=1,K
print *, E(i)
enddo
! Release internal representation of CSR matrix
info = MKL_SPARSE_DESTROY(csrA)
end program
And here is the error:
Sparse matrix size 5 Testing mkl_sparse_s_ev forrtl: severe (174): SIGSEGV, segmentation fault occurred Image PC Routine Line Source eigen.exe 0000000000404B53 Unknown Unknown Unknown libpthread-2.28.s 00007FCE5012E3C0 Unknown Unknown Unknown libmkl_core.so 00007FCE508C4D0D mkl_serv_free Unknown Unknown libmkl_intel_thre 00007FCE561F80E1 mkl_sparse_s_kryl Unknown Unknown libmkl_intel_thre 00007FCE561F3FFA mkl_sparse_s_ev_i Unknown Unknown libmkl_intel_lp64 00007FCE573379D7 MKL_SPARSE_S_EV Unknown Unknown eigen.exe 0000000000403AFA Unknown Unknown Unknown eigen.exe 0000000000403862 Unknown Unknown Unknown libc-2.28.so 00007FCE4FF7C223 __libc_start_main Unknown Unknown eigen.exe 000000000040376E Unknown Unknown Unknown
Link Copied
0 Replies
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page